Arsip: client dataset not in insert or edit data

 
user image
more 12 years ago

bandit88

Mas mas and kang mas kang mas ini perlu bantuna lagi puyeng sudah muter coba ini itu tetep aja dari post kemarin saya perlu bantuan kode tambah data

procedure TFpembelianBarang.BtTambahClick(Sender: TObject);
begin
Modul.ClientDetailPembelian.Active:=true;
Modul.ClientDetailPembelian.Append;
DBGridPembelian.DataSource:=Modul.DataSourceDetailPembelian;
DBNavigatorPembelianBarang.DataSource:=Modul.DataSourceDetailPembelian;
Tambah;
end;
kode edit data

procedure TFpembelianBarang.BtEditClick(Sender: TObject);
begin
Modul.ClientDetailPembelian.Edit;
edit;
end;
kode simpan data

procedure TFpembelianBarang.BtSimpanClick(Sender: TObject);
var
 Total:double;
 i:integer;
begin
if(Modul.ClientDetailPembelian.State=DsEdit) then
 begin
   with Modul.ClientDetailPembelian do
   begin
   FieldByName('kode_pembelian').AsString:=EkodePembelian.Text;
   FieldByName('Kode_supplier').AsString:=CbKodeSuplier.Text;
   FieldByName('kode_barang').AsString:=CbKodeBarang.Text;
   FieldByName('kode_karyawan').AsString:=CbKaryawan.Text;
   FieldByName('tanggal_transaksi').AsString:=DateToStr(CbTanggal.DateTime);
   FieldByName('jumlah_beli').AsFloat:=StrToInt(Cbjumlah.Text);
   FieldByName('total_pembayaran').AsFloat:=StrToFloat(ETotalPembayaran.Text);
   end;
  if(EkodePembelian.Text='') or (CbKodeBarang.Text='') or (CbKodeSuplier.Text='')or
    (CbKaryawan.Text='0')  or
     (Cbjumlah.Text='0') or (ETotalPembayaran.Text='0') then
     begin
      Application.MessageBox('Data Tidak Boleh Kosong','Informasi',MB_OK or MB_ICONWARNING)
     end;
  if(CbTanggal.MinDate=1/1/2008) then
     begin
     Application.MessageBox('Tanggal minimal tahun 2008','Informasi',MB_OK or MB_ICONWARNING)
     end
  else
    begin
     if Application.MessageBox(Pchar('Apakah Anda  yakin Menyimpan?'),'Konfirmasi',
     MB_YESNO or MB_ICONQUESTION)=mrYes then
     Modul.ClientDetailPembelian.Post;
     Modul.ClientDetailPembelian.ApplyUpdates(-1);
     Modul.ClientDetailPembelian.Refresh;
     Application.MessageBox('Data Berhasil Di Update','Konfirmasi',MB_OK or MB_ICONINFORMATION);
    end;
  end
else if(Modul.ClientDetailPembelian.State=DsInsert) then
 begin
  if(EkodePembelian.Text='') or (CbKodeBarang.Text='') or (CbKodeSuplier.Text='')or
    (CbKaryawan.Text='0') or (Cbjumlah.Text='0') or (ETotalPembayaran.Text='0') then
     begin
      Application.MessageBox('Data Tidak Boleh Kosong','Informasi',MB_OK or MB_ICONWARNING)
     end
  else
   begin
    If Application.MessageBox(PChar('Apakah anda yakin Menyimpan?'),'Konfirmasi',
        MB_YESNO or MB_ICONQUESTION)=mrYES then
    begin
    ada := Modul.ClientDetailPembelian.Locate('kode_pembelian',EkodePembelian.Text,);
    if ada then
    begin
      EkodePembelian.Focused;
      EkodePembelian.SelectAll;
     EkodePembelian.Text:=modul.ClientDetailPembelian['kode_pembelian'];
      CbKodeSuplier.Text:=Modul.ClientDetailPembelian['kode_supplier'];
      CbKodeBarang.Text:=Modul.ClientDetailPembelian['kode_barang'];
      CbKaryawan.Text:=Modul.ClientDetailPembelian['kode_karyawan'];
      CbTanggal.date:=Modul.ClientDetailPembelian['tanggal_transaksi'];
      Cbjumlah.Text:=modul.ClientDetailPembelian['jumlah_beli'];
      ETotalPembayaran.Text:=Modul.ClientDetailPembelian['total_pembayaran'];
      begin
       Application.MessageBox('Barang Sudah Ada','Informasi',MB_OK or MB_ICONEXCLAMATION);
        EkodePembelian.Text := '';
        EkodePembelian.Color:=clWhite;
        CbKodeSuplier.Text := '';
        CbKodeSuplier.Color:=clWhite;
        CbKodeBarang.Text := '';
        CbKodeBarang.Color:=clWhite;
        CbKaryawan.Text := '';
        CbKaryawan.Color:=clWhite;
        CbTanggal.date := now;
        CbTanggal.Color:=clWhite;
        EhargaBeli.Text:='';
        EhargaBeli.Color:=clWhite;
        Cbjumlah.Text := '';
        Cbjumlah.Color:=clWhite;
        ETotalPembayaran.Text := '';
        ETotalPembayaran.Color:=clWhite;
        Exit;
      end;
   end;
   with Modul.ClientDetailPembelian do
   begin
   FieldByName('kode_pembelian').AsString:=EkodePembelian.Text;
   FieldByName('kode_supplier').AsString:=CbKodeSuplier.Text;
   FieldByName('kode_barang').AsString:=CbKodeBarang.Text;
   FieldByName('kode_karyawan').AsString:=CbKaryawan.Text;
   FieldByName('tanggal_transaksi').AsString:=DateToStr(CbTanggal.DateTime);
   FieldByName('jumlah_beli').AsFloat:=StrToInt(Cbjumlah.Text);
  FieldByName('total_pembayaran').AsFloat:=StrToFloat(ETotalPembayaran.Text);
   end;
   Modul.ClientDetailPembelian.Post;
   Modul.ClientDetailPembelian.ApplyUpdates(-1);
   Modul.ClientDetailPembelian.Refresh;
   Messagedlg('data berhasil masuk',Mtconfirmation,[Mbok],0);
  end ;
  end;
end
else
 Application.MessageBox('Tombol Tambah atau Edit belum Di Klik','Informasi',MB_OK or MB_ICONWARNING);
 simpan;
 Application.MessageBox('Tombol Tambah atau Edit belum Di Klik','Informasi',MB_OK or MB_ICONWARNING);
end;
dalam dbgrid saya buar program kayak gini

procedure TFpembelianBarang.DBGridPembelianCellClick(Column: TColumn);
begin
EkodePembelian.Text:=Modul.ClientDetailPembelian.Fields[0].Value;
CbKodeSuplier.Text:=Modul.ClientDetailPembelian.Fields[1].Value;
CbKodeBarang.Text:=Modul.ClientDetailPembelian.Fields[2].Value;
CbKaryawan.Text:=Modul.ClientDetailPembelian.Fields[3].Value;
CbTanggal.Date:=Modul.ClientDetailPembelian.Fields[4].Value;
Cbjumlah.Text:=Modul.ClientDetailPembelian.Fields[5].Value;
ETotalPembayaran.Text:=Modul.ClientDetailPembelian.Fields[6].Value;
end;
pertanyaan saya kenapa saya membuat validasi dengan fasilitas event di delphi 7 selalu error [

clientdatset not in mode insert or edit data
tetapi kalo saya hapus event tersebut tidak ada error dan gmn membuat event dari tombol combobox.onselect? mau saya buat seleksi jika combobox.onselecet items maka edit.text.hargabarang=.......? :?
`0"
user image
more 12 years ago

bandit88

Mas mas and kang mas kang mas ini perlu bantuna lagi puyeng sudah muter coba ini itu tetep aja dari post kemarin saya perlu bantuan kode tambah data

procedure TFpembelianBarang.BtTambahClick(Sender: TObject);
begin
Modul.ClientDetailPembelian.Active:=true;
Modul.ClientDetailPembelian.Append;
DBGridPembelian.DataSource:=Modul.DataSourceDetailPembelian;
DBNavigatorPembelianBarang.DataSource:=Modul.DataSourceDetailPembelian;
Tambah;
end;
kode edit data

procedure TFpembelianBarang.BtEditClick(Sender: TObject);
begin
Modul.ClientDetailPembelian.Edit;
edit;
end;
kode simpan data

procedure TFpembelianBarang.BtSimpanClick(Sender: TObject);
var
 Total:double;
 i:integer;
begin
if(Modul.ClientDetailPembelian.State=DsEdit) then
 begin
   with Modul.ClientDetailPembelian do
   begin
   FieldByName('kode_pembelian').AsString:=EkodePembelian.Text;
   FieldByName('Kode_supplier').AsString:=CbKodeSuplier.Text;
   FieldByName('kode_barang').AsString:=CbKodeBarang.Text;
   FieldByName('kode_karyawan').AsString:=CbKaryawan.Text;
   FieldByName('tanggal_transaksi').AsString:=DateToStr(CbTanggal.DateTime);
   FieldByName('jumlah_beli').AsFloat:=StrToInt(Cbjumlah.Text);
   FieldByName('total_pembayaran').AsFloat:=StrToFloat(ETotalPembayaran.Text);
   end;
  if(EkodePembelian.Text='') or (CbKodeBarang.Text='') or (CbKodeSuplier.Text='')or
    (CbKaryawan.Text='0')  or
     (Cbjumlah.Text='0') or (ETotalPembayaran.Text='0') then
     begin
      Application.MessageBox('Data Tidak Boleh Kosong','Informasi',MB_OK or MB_ICONWARNING)
     end;
  if(CbTanggal.MinDate=1/1/2008) then
     begin
     Application.MessageBox('Tanggal minimal tahun 2008','Informasi',MB_OK or MB_ICONWARNING)
     end
  else
    begin
     if Application.MessageBox(Pchar('Apakah Anda  yakin Menyimpan?'),'Konfirmasi',
     MB_YESNO or MB_ICONQUESTION)=mrYes then
     Modul.ClientDetailPembelian.Post;
     Modul.ClientDetailPembelian.ApplyUpdates(-1);
     Modul.ClientDetailPembelian.Refresh;
     Application.MessageBox('Data Berhasil Di Update','Konfirmasi',MB_OK or MB_ICONINFORMATION);
    end;
  end
else if(Modul.ClientDetailPembelian.State=DsInsert) then
 begin
  if(EkodePembelian.Text='') or (CbKodeBarang.Text='') or (CbKodeSuplier.Text='')or
    (CbKaryawan.Text='0') or (Cbjumlah.Text='0') or (ETotalPembayaran.Text='0') then
     begin
      Application.MessageBox('Data Tidak Boleh Kosong','Informasi',MB_OK or MB_ICONWARNING)
     end
  else
   begin
    If Application.MessageBox(PChar('Apakah anda yakin Menyimpan?'),'Konfirmasi',
        MB_YESNO or MB_ICONQUESTION)=mrYES then
    begin
    ada := Modul.ClientDetailPembelian.Locate('kode_pembelian',EkodePembelian.Text,);
    if ada then
    begin
      EkodePembelian.Focused;
      EkodePembelian.SelectAll;
     EkodePembelian.Text:=modul.ClientDetailPembelian['kode_pembelian']
              
user image
more 12 years ago

jayadi888

"tetapi kalo saya hapus event tersebut tidak ada error "....procedure validasi untuk event yg mana/apa nih dari scirpt kamu diatas yg buat error ?. Biasanya "clientdataset not in mode insert or edit data" itu dataset nya belom dipersiapkan untuk insert/edit.
user image
more 12 years ago

alvonz

di kode simpan data script Modul.ClientDetailPembelian.Post; klo pake ADO harus ada edit lalu post; nah ini banyak saya liat cuman post aja... coba post ganti sama refresh saja, ato tambahin edit di sebelum post
user image
more 12 years ago

bandit88

dalam program saya ini edit dan insert saya definisikan dalam tombol yang berbeda yaitu insert di tombol tambah and edit ditombol edit jadi dalam tombol simpan akan menyeleksi jika insert maka state yang di pilih insert dan kalo edit state yang dipilih edit, saya menggunakan post untuk menyimpan data yang fix dan refresh dan apply updates harus ada klo tidak ada maka ada pesan kesalahan
client dataset must apply updates before refresh
tolong must yang jago pemrograman multitier T_T
user image
more 12 years ago

CAHYADI_ONG

ehm.. saya pernah baca tentang query yg tidak bisa di insert/edit.. kondisinya adalah query dengan select 2 table ato lebih..
more ...
  • Pages:
  • 1
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com