- Beranda
- Komunitas
- Tech
- Programmer Forum
Help, Data di Combobox hilang setelah di input.


TS
rifsoel
Help, Data di Combobox hilang setelah di input.
Misi suhu, mau nanya. Sayakan bikin combobox(cbb3) isinya data dari database. Nah waktu mau input, datanya aman aman aja nih.

Terus saya cek kan di form DB Absen, datanya udah pada masuk atau belum, sampai sini masih aman, data udah masuk ke database.
Nah pas saya mau nambah data lagi, data data di database udah pada hilang dari combobox(cbb3).
untuk source code nya saya bikin gini.
untuk source code dibagian form DB Absen nya gini.
Mohon dibantu suhu, kira kira ada masalah dimana ya?. Apa di koding combobox nya ya?
Makasih suhu
Spoiler for Penginputan Data:


Terus saya cek kan di form DB Absen, datanya udah pada masuk atau belum, sampai sini masih aman, data udah masuk ke database.
Spoiler for Mau nginput data lagi:

Nah pas saya mau nambah data lagi, data data di database udah pada hilang dari combobox(cbb3).
Spoiler for Data di Combobox udah hilang:

untuk source code nya saya bikin gini.
Spoiler for source code Form Absen:
Quote:
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm4 = class(TForm)
lbl1: TLabel;
lbl2: TLabel;
lbl3: TLabel;
lbl4: TLabel;
lbl5: TLabel;
lbl7: TLabel;
edt1: TEdit;
edt3: TEdit;
edt5: TEdit;
btn1: TButton;
btn2: TButton;
btn3: TButton;
btn4: TButton;
cbb1: TComboBox;
cbb2: TComboBox;
cbb3: TComboBox;
procedure btn1Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn4Click(Sender: TObject);
procedure cbb3Change(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
procedure bersihkan;
procedure no_urut;
procedure nama_otomatis;
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses Unit11, Unit13;
{$R *.dfm}
procedure TForm4.btn1Click(Sender: TObject);
begin
if edt1.Text='' then
begin
ShowMessage('Data masih ada yang kosong!');
edt1.SetFocus;
end else
if cbb3.Text='' then
begin
ShowMessage('Data masih ada yang kosong!');
cbb3.SetFocus;
end else
if edt3.Text='' then
begin
ShowMessage('Data masih ada yang kosong!');
edt3.SetFocus;
end else
if edt5.Text='' then
begin
ShowMessage('Data masih ada yang kosong!');
edt5.SetFocus;
end else
begin
with DataModule11.zqry_absen do
begin
Append;
Fields[0].AsString := edt1.Text;
Fields[1].AsString := cbb3.Text;
Fields[2].AsString := edt3.Text;
Fields[3].AsString := cbb1.Text;
Fields[4].AsString := cbb2.Text;
Fields[5].AsString := edt5.Text;
Post;
end;
with DataModule11.zqry_absen do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM tb_absen');
Open;
end;
Application.MessageBox('Data Berhasil Disimpan','Info', MB_OK or MB_ICONINFORMATION);
begin
edt1.Clear;
edt3.Clear;
cbb1.ClearSelection;
cbb2.ClearSelection;
edt5.Clear;
end;
no_urut;
end;
end;
procedure TForm4.btn3Click(Sender: TObject);
begin
bersihkan;
end;
procedure TForm4.btn2Click(Sender: TObject);
begin
with DataModule11.zqry_absen do
begin
Active := False;
Close;
SQL.Clear;
SQL.Text:= 'UPDATE tb_absen SET id_penyiar ='+QuotedStr(cbb3.Text)
+',nama_penyiar ='+QuotedStr(edt3.Text)
+',periode_bulan ='+QuotedStr(cbb1.Text)
+',periode_tahun ='+QuotedStr(cbb2.Text)
+',total_siaran ='+QuotedStr(edt5.Text)
+'where id_absen='+QuotedStr(edt1.Text)+';';
ExecSQL;
SQL.Clear;
SQL.Text := 'select*from tb_absen';
ExecSQL;
Active := True;
end;
Application.MessageBox('Berhasil Mengedit Data','Sukses',0);
bersihkan;
end;
procedure TForm4.bersihkan;
begin
edt1.Clear;
edt3.Clear;
cbb1.ClearSelection;
cbb2.ClearSelection;
edt5.Clear;
end;
procedure TForm4.btn4Click(Sender: TObject);
begin
Form13.Refresh;
Form4.Close;
Form13.Show;
end;
procedure TForm4.no_urut;
var
kode : string;
urut : Integer;
begin
with DataModule11.zqry_absen do
begin
Close;
SQL.Clear;
SQL.Text := 'select * from tb_absen order by id_absen asc';
Open;
end;
if DataModule11.zqry_absen.RecordCount = 0 then
urut := 1
else
if DataModule11.zqry_absen.RecordCount >0 then
begin
with DataModule11.zqry_absen do
begin
Close;
SQL.Clear;
SQL.Text :='select max(right(id_absen,3)) as kode from tb_absen';
Open;
end;
urut := DataModule11.zqry_absen.fieldByName('kode').AsInteger + 1;
end;
kode := IntToStr (urut);
kode := Copy('00'+kode, Length ('00'+kode)-0,3);
edt1.Text := '00' +kode;
with DataModule11.zqry_absen do
Begin
close;
SQL.Clear;
SQL.Text := 'select * from tb_absen';
Open;
end;
end;
procedure TForm4.cbb3Change(Sender: TObject);
begin
with DataModule11.zqry_penyiar do
begin
close;
SQL.Clear;
SQL.Add('SELECT * FROM tb_penyiar WHERE id_penyiar='
+QuotedStr(cbb3.Text));
Open;
end;
if (DataModule11.zqry_penyiar.RecordCount = 0) then
begin
edt3.Text := 'Penyiar tidak dikenal';
end
else
begin
if(DataModule11.zqry_penyiar.FieldByName('id_penyiar').AsString = cbb3.Text)
then
edt3.Text := DataModule11.zqry_penyiar.FieldByName('nama_penyiar').AsString;
end;
end;
procedure TForm4.nama_otomatis;
begin
cbb3.Items.Clear;
while not DataModule11.zqry_penyiar.Eof do
begin
cbb3.Items.Add(DataModule11.zqry_penyiar.FieldByName('id_penyiar').AsString);
DataModule11.zqry_penyiar.Next;
end;
end;
procedure TForm4.FormShow(Sender: TObject);
begin
nama_otomatis;
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm4 = class(TForm)
lbl1: TLabel;
lbl2: TLabel;
lbl3: TLabel;
lbl4: TLabel;
lbl5: TLabel;
lbl7: TLabel;
edt1: TEdit;
edt3: TEdit;
edt5: TEdit;
btn1: TButton;
btn2: TButton;
btn3: TButton;
btn4: TButton;
cbb1: TComboBox;
cbb2: TComboBox;
cbb3: TComboBox;
procedure btn1Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn4Click(Sender: TObject);
procedure cbb3Change(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
procedure bersihkan;
procedure no_urut;
procedure nama_otomatis;
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses Unit11, Unit13;
{$R *.dfm}
procedure TForm4.btn1Click(Sender: TObject);
begin
if edt1.Text='' then
begin
ShowMessage('Data masih ada yang kosong!');
edt1.SetFocus;
end else
if cbb3.Text='' then
begin
ShowMessage('Data masih ada yang kosong!');
cbb3.SetFocus;
end else
if edt3.Text='' then
begin
ShowMessage('Data masih ada yang kosong!');
edt3.SetFocus;
end else
if edt5.Text='' then
begin
ShowMessage('Data masih ada yang kosong!');
edt5.SetFocus;
end else
begin
with DataModule11.zqry_absen do
begin
Append;
Fields[0].AsString := edt1.Text;
Fields[1].AsString := cbb3.Text;
Fields[2].AsString := edt3.Text;
Fields[3].AsString := cbb1.Text;
Fields[4].AsString := cbb2.Text;
Fields[5].AsString := edt5.Text;
Post;
end;
with DataModule11.zqry_absen do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM tb_absen');
Open;
end;
Application.MessageBox('Data Berhasil Disimpan','Info', MB_OK or MB_ICONINFORMATION);
begin
edt1.Clear;
edt3.Clear;
cbb1.ClearSelection;
cbb2.ClearSelection;
edt5.Clear;
end;
no_urut;
end;
end;
procedure TForm4.btn3Click(Sender: TObject);
begin
bersihkan;
end;
procedure TForm4.btn2Click(Sender: TObject);
begin
with DataModule11.zqry_absen do
begin
Active := False;
Close;
SQL.Clear;
SQL.Text:= 'UPDATE tb_absen SET id_penyiar ='+QuotedStr(cbb3.Text)
+',nama_penyiar ='+QuotedStr(edt3.Text)
+',periode_bulan ='+QuotedStr(cbb1.Text)
+',periode_tahun ='+QuotedStr(cbb2.Text)
+',total_siaran ='+QuotedStr(edt5.Text)
+'where id_absen='+QuotedStr(edt1.Text)+';';
ExecSQL;
SQL.Clear;
SQL.Text := 'select*from tb_absen';
ExecSQL;
Active := True;
end;
Application.MessageBox('Berhasil Mengedit Data','Sukses',0);
bersihkan;
end;
procedure TForm4.bersihkan;
begin
edt1.Clear;
edt3.Clear;
cbb1.ClearSelection;
cbb2.ClearSelection;
edt5.Clear;
end;
procedure TForm4.btn4Click(Sender: TObject);
begin
Form13.Refresh;
Form4.Close;
Form13.Show;
end;
procedure TForm4.no_urut;
var
kode : string;
urut : Integer;
begin
with DataModule11.zqry_absen do
begin
Close;
SQL.Clear;
SQL.Text := 'select * from tb_absen order by id_absen asc';
Open;
end;
if DataModule11.zqry_absen.RecordCount = 0 then
urut := 1
else
if DataModule11.zqry_absen.RecordCount >0 then
begin
with DataModule11.zqry_absen do
begin
Close;
SQL.Clear;
SQL.Text :='select max(right(id_absen,3)) as kode from tb_absen';
Open;
end;
urut := DataModule11.zqry_absen.fieldByName('kode').AsInteger + 1;
end;
kode := IntToStr (urut);
kode := Copy('00'+kode, Length ('00'+kode)-0,3);
edt1.Text := '00' +kode;
with DataModule11.zqry_absen do
Begin
close;
SQL.Clear;
SQL.Text := 'select * from tb_absen';
Open;
end;
end;
procedure TForm4.cbb3Change(Sender: TObject);
begin
with DataModule11.zqry_penyiar do
begin
close;
SQL.Clear;
SQL.Add('SELECT * FROM tb_penyiar WHERE id_penyiar='
+QuotedStr(cbb3.Text));
Open;
end;
if (DataModule11.zqry_penyiar.RecordCount = 0) then
begin
edt3.Text := 'Penyiar tidak dikenal';
end
else
begin
if(DataModule11.zqry_penyiar.FieldByName('id_penyiar').AsString = cbb3.Text)
then
edt3.Text := DataModule11.zqry_penyiar.FieldByName('nama_penyiar').AsString;
end;
end;
procedure TForm4.nama_otomatis;
begin
cbb3.Items.Clear;
while not DataModule11.zqry_penyiar.Eof do
begin
cbb3.Items.Add(DataModule11.zqry_penyiar.FieldByName('id_penyiar').AsString);
DataModule11.zqry_penyiar.Next;
end;
end;
procedure TForm4.FormShow(Sender: TObject);
begin
nama_otomatis;
end;
end.
untuk source code dibagian form DB Absen nya gini.
Spoiler for source code Form DB Absen:
Quote:
unit Unit13;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBGridEhGrouping, StdCtrls, GridsEh, DBGridEh;
type
TForm13 = class(TForm)
dbgrdh1: TDBGridEh;
btn1: TButton;
btn2: TButton;
btn3: TButton;
btn4: TButton;
edt1: TEdit;
lbl1: TLabel;
procedure btn1Click(Sender: TObject);
procedure btn4Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure edt1Change(Sender: TObject);
private
{ Private declarations }
public
procedure refresh;
{ Public declarations }
end;
var
Form13: TForm13;
implementation
uses Unit4, Unit2, Unit11;
{$R *.dfm}
procedure TForm13.btn1Click(Sender: TObject);
begin
Form4.Refresh;
Form4.btn1.Show;
Form4.btn2.Hide;
Form4.no_urut;
Form4.Show;
Form13.Close;
end;
procedure TForm13.btn4Click(Sender: TObject);
begin
Form2.Show;
Form13.Close;
end;
procedure TForm13.btn2Click(Sender: TObject);
begin
if dbgrdh1.SelectedRows.Count=0 then
begin
MessageDlg('Tidak ada data yang di tandai....',mtWarning,[mboK],0);
Exit;
end;
with DataModule11.zqry_absen do
begin
Form4.edt1.Text := FieldList[0].AsString;
Form4.cbb3.Text := FieldList[1].AsString;
Form4.edt3.Text := FieldList[2].AsString;
Form4.cbb1.Text := FieldList[3].AsString;
Form4.cbb2.Text := FieldList[4].AsString;
Form4.edt5.Text := FieldList[5].AsString;
Form13.Hide;
Form4.Show;
Form4.btn1.Hide;
Form4.btn2.Show;
end;
end;
procedure TForm13.btn3Click(Sender: TObject);
begin
if dbgrdh1.SelectedRows.Count=0 then
begin
MessageDlg('Tidak Ada Data Yang Di Tandai ...',mtWarning,[mbOK],0);
Exit;
end;
dbgrdh1.SelectedRows.Delete;
end;
procedure TForm13.refresh;
begin
with DataModule11.zqry_absen do
begin
Close;
SQL.Clear;
SQL.Text := 'select * from tb_absen';
Open;
end;
end;
procedure TForm13.edt1Change(Sender: TObject);
begin
if(edt1.Text ='') then
begin
with DataModule11.zqry_absen do
begin
Close;
SQL.Clear;
SQL.Text := 'select * from tb_absen';
Open;
end;
end else
begin
with DataModule11.zqry_absen do
begin
Close;
SQL.Clear;
SQL.Text := 'select * from tb_absen WHERE id_absen LIKE "%'+edt1.Text+
'%" OR periode_bulan LIKE "%'+edt1.Text+'%"';
Open;
end;
end;
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DBGridEhGrouping, StdCtrls, GridsEh, DBGridEh;
type
TForm13 = class(TForm)
dbgrdh1: TDBGridEh;
btn1: TButton;
btn2: TButton;
btn3: TButton;
btn4: TButton;
edt1: TEdit;
lbl1: TLabel;
procedure btn1Click(Sender: TObject);
procedure btn4Click(Sender: TObject);
procedure btn2Click(Sender: TObject);
procedure btn3Click(Sender: TObject);
procedure edt1Change(Sender: TObject);
private
{ Private declarations }
public
procedure refresh;
{ Public declarations }
end;
var
Form13: TForm13;
implementation
uses Unit4, Unit2, Unit11;
{$R *.dfm}
procedure TForm13.btn1Click(Sender: TObject);
begin
Form4.Refresh;
Form4.btn1.Show;
Form4.btn2.Hide;
Form4.no_urut;
Form4.Show;
Form13.Close;
end;
procedure TForm13.btn4Click(Sender: TObject);
begin
Form2.Show;
Form13.Close;
end;
procedure TForm13.btn2Click(Sender: TObject);
begin
if dbgrdh1.SelectedRows.Count=0 then
begin
MessageDlg('Tidak ada data yang di tandai....',mtWarning,[mboK],0);
Exit;
end;
with DataModule11.zqry_absen do
begin
Form4.edt1.Text := FieldList[0].AsString;
Form4.cbb3.Text := FieldList[1].AsString;
Form4.edt3.Text := FieldList[2].AsString;
Form4.cbb1.Text := FieldList[3].AsString;
Form4.cbb2.Text := FieldList[4].AsString;
Form4.edt5.Text := FieldList[5].AsString;
Form13.Hide;
Form4.Show;
Form4.btn1.Hide;
Form4.btn2.Show;
end;
end;
procedure TForm13.btn3Click(Sender: TObject);
begin
if dbgrdh1.SelectedRows.Count=0 then
begin
MessageDlg('Tidak Ada Data Yang Di Tandai ...',mtWarning,[mbOK],0);
Exit;
end;
dbgrdh1.SelectedRows.Delete;
end;
procedure TForm13.refresh;
begin
with DataModule11.zqry_absen do
begin
Close;
SQL.Clear;
SQL.Text := 'select * from tb_absen';
Open;
end;
end;
procedure TForm13.edt1Change(Sender: TObject);
begin
if(edt1.Text ='') then
begin
with DataModule11.zqry_absen do
begin
Close;
SQL.Clear;
SQL.Text := 'select * from tb_absen';
Open;
end;
end else
begin
with DataModule11.zqry_absen do
begin
Close;
SQL.Clear;
SQL.Text := 'select * from tb_absen WHERE id_absen LIKE "%'+edt1.Text+
'%" OR periode_bulan LIKE "%'+edt1.Text+'%"';
Open;
end;
end;
end;
end.
Mohon dibantu suhu, kira kira ada masalah dimana ya?. Apa di koding combobox nya ya?
Makasih suhu





tien212700 dan nona212 memberi reputasi
2
1.3K
Kutip
9
Balasan


Komentar yang asik ya
Urutan
Terbaru
Terlama


Komentar yang asik ya
Komunitas Pilihan