всем привет. Сделал бд в делфи ..в ней..имеется две таблицы, одна из них дочерняя , а др родительская, для каждой таблицы сделал две кнопки, которые реализуют поиски разными методами(первый метод-Lookup, второй- Locate), у первой таблице два метода работают нормально, а вот у второй таблицы не работает метод-Lookup--выходит ошибка при нажати кнопки---Variant or safe array index out of bounds...как исправить жту ошибку я не знаю...вот коды:
procedure TForm1.Button1Click(Sender: TObject); var GrNumTmp1, GrNumTmp2: Integer; begin
If CheckBox1.Checked then begin DataSource1.DataSet:=Table1; GrNumTmp1 := StrToInt(Edit1.Text); GrNumTmp2 := StrToInt(Edit2.Text); With Table1 do begin CancelRange; SetRange([GrNumTmp1],[GrNumTmp2]); end; end else Table1.CancelRange; end;
procedure TForm1.Button2Click(Sender: TObject); var LookUpResults: Variant; i: integer; begin ListBox1.Clear(); LookUpResults:=Table1.Lookup('Soc_nom', StrToInt(Edit3.Text), 'Famil;Imya; Dolgnost'); If VarIsArray(LookUpResults) then begin for i := 0 to 2 do listbox1.Items.Add(LookUpResults[i]); end else case VarType(LookUpResults) of varEmpty : listbox1.Items.Add('Пустой результат'); varNull : listbox1.Items.Add('Запись не найдена'); end; end; procedure TForm1.Button3Click(Sender: TObject); var LocateResults: Variant; begin LocateResults:=Table1.Locate('Soc_nom;Famil;Imya', varArrayof( [1, 'Щеколдин', 'Андрей']),[loCaseInsensitive, loPartialKey]); Case varType(LocateResults) of varEmpty : Label6.Caption:='Пустой результат'; varNull : Label6.Caption:='Запись не найдена'; else Label5.Caption:=LocateResults; end; end;
procedure TForm1.Button4Click(Sender: TObject); var GrNumTmp3, GrNumTmp4: Integer; begin
If CheckBox2.Checked then begin DataSource2.DataSet:=Table2; GrNumTmp3 := StrToInt(Edit4.Text); GrNumTmp4 := StrToInt(Edit5.Text); With Table2 do begin CancelRange; SetRange([GrNumTmp3],[GrNumTmp4]); end; end else Table2.CancelRange; end;
procedure TForm1.Button5Click(Sender: TObject); var LookUpResults: Variant; i: integer; begin ListBox2.Clear(); LookUpResults:=Table2.Lookup('Kod_lic_ch', StrToInt(Edit6.Text), 'Bank; Soc_nom'); If VarIsArray(LookUpResults) then begin for i := 0 to 2 do listbox2.Items.Add(LookUpResults[i]);--ОШИБКА УКАЗЫВАЕТ СЮДА. end else case VarType(LookUpResults) of varEmpty : listbox2.Items.Add('Пустой результат'); varNull : listbox2.Items.Add('Запись не найдена'); end; end;
procedure TForm1.Button6Click(Sender: TObject);
var LocateResults: Variant; begin LocateResults:=Table2.Locate('Kod_lic_ch;N_lic_ch;Bank', varArrayof( ['1', '1', 'Уралсиб']),[loCaseInsensitive, loPartialKey]); Case varType(LocateResults) of varEmpty : Label6.Caption:='Пустой результат'; varNull : Label6.Caption:='Запись не найдена'; else Label11.Caption:=LocateResults; end; end; end.
Why not settling on games that is fun and at the same time your earning. Well it'll make suspense because the game is well but dude just try it and it gave me hope while pandemic is real rn. Casino Gambling Strategies