Deklaracja tablicy:
KOD cpp: UKRYJ
TDBLookupComboBox *autor[5];
I funkcja, która się wywala:
KOD cpp: UKRYJ
void __fastcall TForm5::Button4Click(TObject *Sender)
{ int i,j,x,y,a,zm,pom;
j=StrToFloat(Form5->Edit5->Text);
DataModule1->Ksiazki->Insert();
DataModule1->Ksiazki->FieldValues["Tytul"]=Edit4->Text;
DataModule1->Ksiazki->FieldValues["Aktywne"]=true;
DataModule1->Ksiazki->FieldValues["Id_UKD"]=DBLookupListBox1->KeyValue;
DataModule1->Ksiazki->Post();
zm=RadioGroup3->ItemIndex+2;
for (i=2; i<=zm; i++)
{ pom=i;
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=autor[pom]->KeyValue; //w tym miejscu jest problem,
DataModule1->Ksiazki->Last();
x=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Post();
}
for (i = 0; i < j; i++)
{
DataModule1->Egzemplarze->Last();
DataModule1->Egzemplarze->Insert();
DataModule1->Ksiazki->Last();
x=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Egzemplarze->FieldValues["Id_Ksiazki"]=x;
DataModule1->Egzemplarze->FieldValues["Umiejscowienie"]=Form5->Edit9->Text;
DataModule1->Egzemplarze->FieldValues["Data_Wprowadzenia"]=Date();
DataModule1->Egzemplarze->FieldValues["Id_Wydawnictwa"]=DBLookupComboBox1->KeyValue;
DataModule1->Egzemplarze->FieldValues["Rok_Wydania"]=Edit27->Text;
DataModule1->Egzemplarze->FieldValues["Cena"]=Edit28->Text;
DataModule1->Egzemplarze->FieldValues["Do_Wypozyczenia"]=1;
}
DataModule1->Egzemplarze->Post();
}
{ int i,j,x,y,a,zm,pom;
j=StrToFloat(Form5->Edit5->Text);
DataModule1->Ksiazki->Insert();
DataModule1->Ksiazki->FieldValues["Tytul"]=Edit4->Text;
DataModule1->Ksiazki->FieldValues["Aktywne"]=true;
DataModule1->Ksiazki->FieldValues["Id_UKD"]=DBLookupListBox1->KeyValue;
DataModule1->Ksiazki->Post();
zm=RadioGroup3->ItemIndex+2;
for (i=2; i<=zm; i++)
{ pom=i;
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=autor[pom]->KeyValue; //w tym miejscu jest problem,
DataModule1->Ksiazki->Last();
x=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Post();
}
for (i = 0; i < j; i++)
{
DataModule1->Egzemplarze->Last();
DataModule1->Egzemplarze->Insert();
DataModule1->Ksiazki->Last();
x=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Egzemplarze->FieldValues["Id_Ksiazki"]=x;
DataModule1->Egzemplarze->FieldValues["Umiejscowienie"]=Form5->Edit9->Text;
DataModule1->Egzemplarze->FieldValues["Data_Wprowadzenia"]=Date();
DataModule1->Egzemplarze->FieldValues["Id_Wydawnictwa"]=DBLookupComboBox1->KeyValue;
DataModule1->Egzemplarze->FieldValues["Rok_Wydania"]=Edit27->Text;
DataModule1->Egzemplarze->FieldValues["Cena"]=Edit28->Text;
DataModule1->Egzemplarze->FieldValues["Do_Wypozyczenia"]=1;
}
DataModule1->Egzemplarze->Post();
}
Siedzę nad tym od popołudnia i nie mogę dociec rozwiązania
P.S. Wcześniej napisałem bardzo prostą (i rozległą) funkcję, która była wyjściem dla powyższego:
KOD cpp: UKRYJ
void __fastcall TForm5::Button4Click(TObject *Sender)
{ int x,y,a,i,j;
DataModule1->Ksiazki->Insert();
DataModule1->Ksiazki->FieldValues["Tytul"]=Edit4->Text;
DataModule1->Ksiazki->FieldValues["Aktywne"]=true;
DataModule1->Ksiazki->FieldValues["Id_UKD"]=DBLookupListBox1->KeyValue;
DataModule1->Ksiazki->Post();
j=StrToFloat(Form5->Edit5->Text);
for (i = 0; i < j; i++)
{
//x=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Egzemplarze->Last();
DataModule1->Egzemplarze->Insert();
DataModule1->Ksiazki->Last();
DataModule1->Egzemplarze->FieldValues["Id_Ksiazki"]=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Egzemplarze->FieldValues["Umiejscowienie"]=Form5->Edit9->Text;
DataModule1->Egzemplarze->FieldValues["Data_Wprowadzenia"]=Date();
DataModule1->Egzemplarze->FieldValues["Id_Wydawnictwa"]=DBLookupComboBox1->KeyValue;
DataModule1->Egzemplarze->FieldValues["Rok_Wydania"]=Edit27->Text;
DataModule1->Egzemplarze->FieldValues["Cena"]=Edit28->Text;
DataModule1->Egzemplarze->FieldValues["Do_Wypozyczenia"]=1;
}
DataModule1->Egzemplarze->Post();
switch (RadioGroup3->ItemIndex) {
case 0:
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox2->KeyValue; /*Pobieranie wartości z tabeli autorzy*/
DataModule1->Ksiazki->Last(); /*i wstawianie do tabelu autorzy_ksiazki */
x=DataModule1->Ksiazki->FieldValues["Id"]; /*Pobieranie Id_Ksiazki*/
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Post();
break;
case 1:
DBLookupComboBox2->Enabled=True;
DBLookupComboBox3->Enabled=True;
DBLookupComboBox4->Enabled=False;
DBLookupComboBox5->Enabled=False;
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox2->KeyValue;
DataModule1->Ksiazki->Last();
x=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Refresh();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox3->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Post();
break;
case 2:
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox2->KeyValue;
DataModule1->Ksiazki->Last();
x=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox3->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox4->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Post();
break;
case 3:
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox2->KeyValue;
DataModule1->Ksiazki->Last();
x=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox3->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox4->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox5->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Post();
break;
}
}
{ int x,y,a,i,j;
DataModule1->Ksiazki->Insert();
DataModule1->Ksiazki->FieldValues["Tytul"]=Edit4->Text;
DataModule1->Ksiazki->FieldValues["Aktywne"]=true;
DataModule1->Ksiazki->FieldValues["Id_UKD"]=DBLookupListBox1->KeyValue;
DataModule1->Ksiazki->Post();
j=StrToFloat(Form5->Edit5->Text);
for (i = 0; i < j; i++)
{
//x=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Egzemplarze->Last();
DataModule1->Egzemplarze->Insert();
DataModule1->Ksiazki->Last();
DataModule1->Egzemplarze->FieldValues["Id_Ksiazki"]=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Egzemplarze->FieldValues["Umiejscowienie"]=Form5->Edit9->Text;
DataModule1->Egzemplarze->FieldValues["Data_Wprowadzenia"]=Date();
DataModule1->Egzemplarze->FieldValues["Id_Wydawnictwa"]=DBLookupComboBox1->KeyValue;
DataModule1->Egzemplarze->FieldValues["Rok_Wydania"]=Edit27->Text;
DataModule1->Egzemplarze->FieldValues["Cena"]=Edit28->Text;
DataModule1->Egzemplarze->FieldValues["Do_Wypozyczenia"]=1;
}
DataModule1->Egzemplarze->Post();
switch (RadioGroup3->ItemIndex) {
case 0:
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox2->KeyValue; /*Pobieranie wartości z tabeli autorzy*/
DataModule1->Ksiazki->Last(); /*i wstawianie do tabelu autorzy_ksiazki */
x=DataModule1->Ksiazki->FieldValues["Id"]; /*Pobieranie Id_Ksiazki*/
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Post();
break;
case 1:
DBLookupComboBox2->Enabled=True;
DBLookupComboBox3->Enabled=True;
DBLookupComboBox4->Enabled=False;
DBLookupComboBox5->Enabled=False;
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox2->KeyValue;
DataModule1->Ksiazki->Last();
x=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Refresh();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox3->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Post();
break;
case 2:
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox2->KeyValue;
DataModule1->Ksiazki->Last();
x=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox3->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox4->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Post();
break;
case 3:
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox2->KeyValue;
DataModule1->Ksiazki->Last();
x=DataModule1->Ksiazki->FieldValues["Id"];
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox3->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox4->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Next();
DataModule1->Autorzy_Ksiazki->Insert();
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Autora"]=DBLookupComboBox5->KeyValue;
DataModule1->Autorzy_Ksiazki->FieldValues["Id_Ksiazki"]=x;
DataModule1->Autorzy_Ksiazki->Post();
break;
}
}





