Tutorial ini saya buat sebenarnya menanggapi banyaknya pertanyaan2 baik melalui ym ato email bahkan temen2 sendiri ada yg telepon menanyakan bagaimana caranya menyimpan data input dari aplikasi ke database dalam 1x klik maka akan menyimpan seluruh data yang tertampung sebelumnya, mungkin hal ini dapat diakali dengan cara membuat suatu table temporary dan kemudian isi dari table temporary tersebut dimasukkan ke tabel sebenarnya tapi saya bilang hal ini sangat merepotkan, sebelum memasuki topik utamanya, terlebih dahulu saya akan menjelaskan tentang kegunaan penyimpanan data secara massal ini, mungkin bagi yang masih kuliah akan mengalami hal ini ketika contohnya mengerjakan tugas membuat suatu aplikasi peminjaman dimana ketika satu anggota dapat meminjam lebih dari 1 barang, nah disini akan dibahas cara untuk menyimpannya dalam 1 klik saja. tentunya dengan menggunakan Delphi 🙂 , sebelumnya diinformasikan bahwa tutorial ini mengasumsikan temen-temen telah dapat mengkoneksikan antara aplikasi dengan database, database yang akan dicontohkan yaitu adalah MySQL. apabila temen-temen belum dapat mengkoneksikannya maka alangkah baiknya temen-temen membaca artikel sebelumnya di https://programminglearning.wordpress.com/2009/05/02/delphi-koneksi-delphi-mysql-dengan-menggunakan-zeos/ .
Sekarang kita akan memulai untuk proses pembuatannya, pertama kita siapkan terlebih dahulu rancangan database dimana saya memberi nama databasenya “db_vcd”, saya tidak akan membuat aplikasi yang kompleks melainkan hanya sesuai dengan topik yang dibahas, adapun rancangan database hanya melingkupi peminjaman saja, untuk barang dan lainnya akan saya buat sebagai data statis. berikut ini adalah rancangannya tabelnya :
nah, selanjutnya kita membuat suatu form, disini untuk menyimpan data-data transaksi saya akan memakai TStringGrid, berikut ini adalah rancangan formnya :
Berbeda dengan tutorial sebelumnya, sekarang saya menggunakan Delphi 7 untuk praktiknya 🙂 hal ini karena pertimbangan saya masih banyak programmer delphi yang menggunakan versi 7 untuk belajar. seperti yang kita lihat rancangan form di atas dalam koneksi dengan MySQL menggunakan Zeos dan sekali lagi bagi yang belum mengerti mengenai koneksi Aplikasi ke MySQL dengan menggunakan zeos silahkan membaca tutorial saya yang sebelumnya, untuk rancangannya sendiri, file rancangannya adalah sbb :
object frmMain: TfrmMain
Left = 303
Top = 177
BorderStyle = bsDialog
Caption = 'Penyimpanan Data Secara Massal'
ClientHeight = 403
ClientWidth = 629
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
Position = poDesktopCenter
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
object Label1: TLabel
Left = 16
Top = 40
Width = 93
Height = 13
Caption = 'Tanggal Transaksi :'
end
object Label2: TLabel
Left = 37
Top = 13
Width = 72
Height = 13
Caption = 'No. Transaksi :'
end
object Label3: TLabel
Left = 320
Top = 40
Width = 99
Height = 13
Caption = 'Tanggal Kembali :'
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = [fsBold]
ParentFont = False
end
object Label4: TLabel
Left = 323
Top = 13
Width = 96
Height = 13
Alignment = taRightJustify
Caption = 'Anggota Peminjam :'
end
object dpPinjam: TDateTimePicker
Left = 115
Top = 37
Width = 186
Height = 21
Date = 39948.274073159720000000
Time = 39948.274073159720000000
TabOrder = 0
OnChange = dpPinjamChange
end
object edNota: TEdit
Left = 115
Top = 10
Width = 186
Height = 21
TabOrder = 1
end
object dpKembali: TDateTimePicker
Left = 425
Top = 37
Width = 186
Height = 21
Date = 39948.274073159720000000
Time = 39948.274073159720000000
TabOrder = 2
end
object cbAnggota: TComboBox
Left = 425
Top = 10
Width = 186
Height = 21
Style = csDropDownList
ItemHeight = 13
TabOrder = 3
Items.Strings = (
'Tigor Mangatur Manurung'
'Heri Wersyadi'
'Hendra Purwanto'
'Susi Simelekete'
'Andi Purnama')
end
object Panel1: TPanel
Left = 16
Top = 80
Width = 595
Height = 273
BevelOuter = bvLowered
TabOrder = 4
object Label5: TLabel
Left = 21
Top = 8
Width = 71
Height = 13
Caption = 'Nama Barang :'
end
object sgData: TStringGrid
Left = 21
Top = 40
Width = 556
Height = 217
ColCount = 2
FixedCols = 0
RowCount = 2
ScrollBars = ssVertical
TabOrder = 0
ColWidths = (
105
420)
end
object cbBarang: TComboBox
Left = 98
Top = 5
Width = 383
Height = 21
Style = csDropDownList
ItemHeight = 13
TabOrder = 1
end
object btnTambah: TButton
Left = 487
Top = 3
Width = 90
Height = 25
Caption = 'Tambah'
TabOrder = 2
OnClick = btnTambahClick
end
end
object btnSimpan: TButton
Left = 455
Top = 368
Width = 75
Height = 25
Caption = '&Simpan'
TabOrder = 5
OnClick = btnSimpanClick
end
object btnBatal: TButton
Left = 536
Top = 368
Width = 75
Height = 25
Caption = '&Batal'
TabOrder = 6
OnClick = btnBatalClick
end
object zConn: TZConnection
Protocol = 'mysql'
HostName = 'localhost'
Port = 3308
Database = 'db_vcd'
User = 'root'
Connected = True
Left = 16
Top = 368
end
object qAct: TZQuery
Connection = zConn
Params = <>
Left = 48
Top = 368
end
end
Karena akan terlalu banyak yang diterangkan, maka saya langsung kepada kode pada unitnya, tetapi jangan khawatir karena saya telah menyertakan komentar-komentar supaya lebih mudah memahami maksud dalam setiap sintak yang ada 🙂
unit uMain;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, ExtCtrls, ComCtrls, ZConnection, DB,
ZAbstractRODataset, ZAbstractDataset, ZDataset;
type
TfrmMain = class(TForm)
Label1: TLabel;
dpPinjam: TDateTimePicker;
Label2: TLabel;
edNota: TEdit;
Label3: TLabel;
dpKembali: TDateTimePicker;
Label4: TLabel;
cbAnggota: TComboBox;
Panel1: TPanel;
sgData: TStringGrid;
Label5: TLabel;
cbBarang: TComboBox;
btnTambah: TButton;
btnSimpan: TButton;
btnBatal: TButton;
zConn: TZConnection;
qAct: TZQuery;
procedure FormCreate(Sender: TObject);
procedure btnBatalClick(Sender: TObject);
procedure btnTambahClick(Sender: TObject);
procedure dpPinjamChange(Sender: TObject);
procedure btnSimpanClick(Sender: TObject);
private
function GenCode: string; //fungsi auto no.nota
procedure RunSQL(_SQL: string ; isOpen: boolean = True);
{ Private declarations }
public
{ Public declarations }
end;
CONST
lama_pinjam_hari = 7; //lama pinjam adalah 7 hari
var
frmMain: TfrmMain;
iRow: integer; //variabel indikator jumlah baris
implementation
{$R *.dfm}
procedure TfrmMain.FormCreate(Sender: TObject);
var
ch: char;
begin
//variabel jumlah baris
iRow := 2;
//Pembuatan judul kolom grid
with sgData do
begin
Cells[0,0] := 'No. Nota';
Cells[1,0] := 'Nama Barang';
end;
//buat simulasi nama barang
for ch := 'A' to 'Z' do
begin
cbBarang.Items.Add('Barang - ' + ch);
end;
//set tanggal pinjam menjadi tanggal hari ini
dpPinjam.Date := NOW;
//set tanggal kembali secara default
dpKembali.Date := Now + lama_pinjam_hari;
//munculkan nota
edNota.Text := GenCode;
end;
function TfrmMain.GenCode: string;
CONST
zero = '0000';
var
strTemp: string;
begin
//Format Nota adalah N-0001
//liat no.nota terakhir dari tb_pinjam
RunSQL('SELECT idpinjam FROM tb_pinjam ORDER BY idpinjam DESC LIMIT 1');
//cek apakah udah ada data dalam tabel, kalo belum hasilkan nilai pertama seperti format
//pada contoh
if qAct.Eof then
begin
result := 'N-0001';
exit; //stop sampe disini saja perintahnya,
end;
//jika memasuki baris ini, maka berarti telah ada data dalam tabel dan saatnya untuk
//melakukan filtering
strTemp := Copy(qAct.FieldByName('idpinjam').AsString,3,4); //potong data yang ditemukan dari karakter ke - 3 dan
//karakter yg dipotong adalah 4 (sampai akhir format no.nota)
strTemp := IntToStr(StrToInt(strTemp) + 1);//dah ketemu nilai berikutnya
strTemp := 'N-' + Copy(zero,1,Length(zero) - Length(strTemp)) + strTemp;
result := strTemp;
end;
procedure TfrmMain.btnBatalClick(Sender: TObject);
begin
Application.Terminate;
end;
procedure TfrmMain.btnTambahClick(Sender: TObject);
begin
//validasi ketika pilihan kosong, maka abaikan perintah penambahan
if cbBarang.ItemIndex < 0 then
exit; //supaya tidak menjalankan perintah selanjutnya ketika tidak ada barang yg dipilih
//identifikasikan jumlah baris
sgData.RowCount := iRow;
//isikan data sesuai pilihan ke dalam grid
with sgData do
begin
Cells[0,RowCount - 1] := edNota.Text;
Cells[1,RowCount - 1] := cbBarang.Text;
end;
//bersihkan isi cbBarang
cbBarang.ItemIndex := -1; //karena style DropDownList, maka membersihkannya dengan cara seperti ini
//tambah jumlah baris
Inc(iRow,1);
end;
procedure TfrmMain.dpPinjamChange(Sender: TObject);
begin
//isikan secara default tanggal pengembalian, lama pinjam sesuai dengan konstanta yang telah ditetapkan
dpKembali.Date := dpKembali.Date + lama_pinjam_hari;
end;
procedure TfrmMain.RunSQL(_SQL: string; isOpen: boolean);
begin
with qAct do
begin
Close;
SQL.Text := _SQL;
if isOpen then
Open
else
ExecSQL;
end;
end;
procedure TfrmMain.btnSimpanClick(Sender: TObject);
var
i: integer;
_SQL: string;
begin
try
//simpan ke tabel tb_detpinjam dlu ya
for i:=1 to sgData.RowCount - 1 do //ini nih cara nyimpen massal yang sederhana, pake looping aja
begin //jadi disimpen per baris gitu, inget mulai baris 1 pada stringgrid karena baris 0 adalah judul kolom!!!
_SQL := 'INSERT INTO tb_detpinjam(idpinjam,barang)VALUES(' + QuotedStr(sgData.Cells[0,i]) + ',' + QuotedStr(sgData.Cells[1,i]) + ')';
RunSQL(_SQL,False); //eksekusi SQL
end;
//setelah selesai, dah simpen di tabel tb_pinjam
_SQL := 'INSERT INTO tb_pinjam(idpinjam,anggota,tglpinjam,tglkembali)VALUES(' +
QuotedStr(edNota.Text) + ',' + QuotedStr(cbAnggota.Text) + ',' + QuotedStr(FormatDateTime('yyyy-mm-dd',dpPinjam.Date)) +
',' + QuotedStr(FormatDateTime('yyyy-mm-dd',dpKembali.Date)) + ')';
RunSQL(_SQL,False); //eksekusi SQL
Application.MessageBox('Data berhasil disimpan dengan sempurna!!!','Informasi',MB_OK or MB_ICONINFORMATION);
//generate no.nota selanjutnya
edNota.Text := GenCode;
//bersih - bersih...
iRow := 2;
with sgData do
begin
RowCount := iRow;
Cells[0,1] := ''; Cells[1,1] := '';
end;
except
Application.MessageBox('Data gagal disimpan dengan sempurna!!!','Peringatan',MB_OK or MB_ICONERROR);
end;
end;
end.
Untuk yang belum jelas atau berhasil silahkan download project jadi disini
Demikian tutorial ini semoga berguna bagi temen-temen semuanya…
bro ahli delphie ya, saya minta diajarkan donk, biasanya saya menggunakan VB tapi kelemahan vb adalah aplikasi yg jadi tidak bisa dipake dikomputer yg ga ada vb nya.
klo saya nanya tolong dijawab ya, saya mau blajar delphi demi bangsa ini “berlebihan ya”
http://www.tawvic.co.cc
klo vb mo di pake di PC yg ga da VBnya harus dibikin paket aplikasinya dulu bro….
klo dah ada paket aplikasinya baru bisa diinstall seperti software yg lain… dan prog bisa jalan tanpa ada VB…
tinggal di build ke .exe kan udah bisa jalan VB.nya meskipun ga ada VB di PC client
gak kq, msih cupu juga…yap klo bisa ntar dibantu 😀
Waduw..
Boleh neh bagi-bagi ilmunya..
saya masih newbie neh 🙂
nice post 😀
ini kayak yang mau tak buat mas, tp masih rada2 mumet dikit. tp mayan lah ada gambaran. kasusnya juga temp tabel buat kasir.
btw, mau nanya mas.
gini, misal aku ada cmbbox yang isine kode produk. nagh di sampingnya itu ada nama produk. kodeproduk pake cmbbox,namaproduk pake tedit. nagh cmbbox sudah bs ambil data dari database. trus onchange di teditnya gmn ya. kok aku bingung gmn mengeluarkan record dari zQuery.
aku coba edit1.text := zquery.fieldbyname(‘namabarang’).asString tp gak mau 😀
Untuk menampilkan nama barang berdasarkan kode di comboBox yang terpilih???caranya gini di event OnChange ComboBox kodenya :
with ZQuery1 do
begin
Close;
SQL.Text := ‘SELECT namabarang WHERE kd_barang = “‘ + ComboBox1.Text + ‘”‘;
Open;
EditName.Text := FieldByName(‘namabarang’).AsString;
end;
thanks ya bro untuk tipsnya..
bro tolongin saya dong, lagi buat tgs akhir ni, klo buat aplikasi pake delphi7 dg database interbase gmanaya?
@Temmy: ok…sama-sama.
@ahmad: apanya yg gmn???
mas mo tanya nich cara klik check bok jika kita klik checknya maka uraian visible n itemnya di db grid enable trus jika mo nambah item dengan satu kode gimana mas
@tanaka : mungkin dapat diterangkan lebih mendetail lagi…sapa tau byk yang mengalami hal ini supaya tak buatin sklian tutorialnya…:)
Bang tigor… ane mo nanya klo db pake paradox max brp ribu record sech? bab aplikasi ane klo udah 2750 error klo di isi lagi… thx berat atas pencerahannya.
klo ttg batasan record blon tau y…tapi setauku si klo cman 2750 msih bisa exists tuh,coba cek settingan BDE.
Wah bro..ternyata dikau favorit juga
@saysansay : wah lama neh gak denger kabar dikau :).
bang tigor tanya…
saya punya data dari mikrokontroller.trus datanya dah bisa saya tampilkan lwt delphi.kl saya pgn nyimpen (record)data itu misalnya tiap 10 menit selama 10 jam itu gmn?krn kan data itu berubah2 trs tiap detik.misalnya gini bang… mulai ambil data jam 8 pagi.jadi data yg disimpan hanya data (nilai) pada jam 08.00,08.10,08.20,08.30, dst , sampai 16.00 misalnya.
tlg ya bang… thanx
hmm…tergantung, apabila anda ingin menyimpan value tsb ke dlam database maka silahkan mempelajari koneksi ke database dulu and algoritmanya
MicroController –> App –> DB
kemudian dari Database tersebut akan dapat ditampilkan oleh applikasi (gunakan DBGrid).
tetapi apabila hanya ingin monitoring biasa saja,bisa menggunakan stringgrid aja, saya rasa lebih mudah.
nice post..
mnta izin mmpelajari tutorial nya neh bang tigor..
sy jg da prtanyaan ne bang.. kalo cara bikin file installer aplikasi database supaya langsung jalan di kompie lain gmana ya?
sya pake delphi+dbexpress+mysql.. mohon bantuannya….
termaksih bnyak
apabila pke DBExpress sediakan terlebih dahulu DLL yang diperlukan and spertinya installer2 udah menyediakan kq untuk settingan SQLnya, bahkan yang saya liat seperti InstallAware yang Enterprise bisa juga mencantumkan Dumping SQL yang nantinya akan diproses oleh installaware tersebut.
Bang minta tutorial cara meng edit, tambah , delete dan simpan pada delphi 7 koneksi zeos. trima kasih
Ok…ntar deh klo ada sedikit waktu luang tak buatin tutorialnya 🙂
Mas, Bagaimana cara untuk import file db_vcd nya saya import kok selalu error??
Terima kasih
coba aja di liat sourcenya, rancangan struktur databasenya seperti apa, saya menggunakan HeidiSQL untuk dump SQLnya…coba deh pke HeidiSQL juga.semoga membantu… 🙂
tetap mas saya sudah pakai HeidiSQL klo error selalu ada tulisan ini
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=’ANSI,NO_BACKSLASH_ESCAPES’ */ ;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */ ;
/* Input parameter count is less then expected */
Terima Kasih
kesalahan di atas dapat diatasi dengan cara menghapus bagian2 yang salah, asalkan script yang dihapus bukan script standard aja. 🙂
mas, bisa bantu aku…
aku pake dbgrid untuk nampilin data, trus aku mau nyimpan, coding yang aku buat hanya bisa nyimpan 1-1 record, sedangkan aku mau 1X klik button save, semua data yang ada didbgrid tersimpan.
ini codingnya :
procedure TForm12.SaveClick(Sender: TObject);
var i: integer;
no_formulir,npm,syarat,nilai_syarat,nilai_alternatif,kode_kriteria,nilai_kriteria,kode_subkriteria,nilai_subkriteria,hasil : string;
begin
ADOQ2.Connection.BeginTrans; //begintrans: mulai transaksi
for i:= 1 to DBGHasil1.DataSource.DataSet.RecordCount do
begin
no_formulir := DBGHasil1.fields[0].AsString;
syarat := DBGHasil1.fields[1].AsString;
nilai_syarat := DBGHasil1.fields[2].AsString;
nilai_alternatif := DBGHasil1.fields[3].AsString;
kode_kriteria := DBGHasil1.fields[4].AsString;
nilai_kriteria := DBGHasil1.fields[5].AsString;
kode_subkriteria := DBGHasil1.fields[6].AsString;
nilai_subkriteria := DBGHasil1.fields[7].AsString;
hasil := DBGHasil1.fields[8].AsString;
end;
ADOC1.CommandText:=’insert into hasil’+
‘(tas,no_formulir,syarat,nilai_syarat,tahun_ahp, kode_beasiswa,nilai_alternatif,kode_kriteria,nilai_kriteria,kode_subkriteria,nilai_subkriteria,hasil)’+
‘values(‘+QuotedStr(cbtas.Text)+’,’+QuotedStr(no_formulir)+’,’+QuotedStr(syarat)+’,’+QuotedStr(nilai_syarat)+’,’+CBahp.text+’,’+QuotedStr(CBbeasiswa.Text)+’,’+QuotedStr(nilai_alternatif)+’,’+QuotedStr(kode_kriteria)+’,’+QuotedStr(nilai_kriteria)+’,’+QuotedStr(kode_subkriteria)+’,’+QuotedStr(nilai_subkriteria)+’,’+QuotedStr(hasil)+’)’;
ADOC1.Execute;
ADOQ2.Connection.CommitTrans;
ShowMessage(‘Data Telah Tersimpan.’);
end;
apa coding-ku ada yang kurang ?tolong ya mas…
trima kasih.
coba deh yang koding ini :
for i:=1 to DBGHasil1.DataSource.DataSet.RecordCount do
itu diganti dengan :
for i:=0 to DBGHasil1.DataSource.DataSet.RecordCount -1 do
coba spt itu dlu y…
mas udah tak coba kog ga bisa ya kek script diatas,, udah tak ganti juga,, nyimpennya datanya sama semua,,
minta bantuannya ya mas,,
ka’ izin minta petunjuknya…saya lagi ngerjain tugas delphi, tentang stok barang. nah kesulitan saya ketika barang dari gudang di ambil/keluar 1 pcs, tp di databsenya ga berkurang..tolong pencerahanya..Tq
itu sepertinya diperlukan sebuah table stok,nah ntar keluar barang itu hanya dicatat pada table transaksi jadi tidak mengurangi jumlah yang ada di table stok. klo mo lebih lanjut silahkan hubungi via ym aj y 🙂
//kalo udah bikin stok barangnya
tbbarang.fieldbyname(‘Stok’).value:=tbbarang.fieldbyname(‘stok’).asinteger – strtoint(Edit1.text);
stok barang bisa berkurang apabila ada transaksi
//kalo udah bikin stok barangnya
if tbbaranf.locate(‘Stok’,Editkodebrg.text,[]) then
begin
tbbarang.edit;
tbbarangStok.value:=tbbarangStok.asinteger – strtoint(EditBanyakStok.text);
tbbtarang.post;
stok barang bisa berkurang apabila ada transaksi
mas,tolong aku..aku mau nyimpan data password tapi ada waktu dan tanggal,bagaimana menyimpan data berupa tanggal dan waktu ke database:
ini koding ku..
procedure TForm1.Timer1Timer(Sender: TObject);
begin
edit3.Text:=DateTostr(date);
edit4.Text:=Timetostr(time);
end;
procedure TForm1.isipass;
begin
ADOPass1.Append;
case rgstatus.ItemIndex of
0:ADOPass1[‘status’]:= ‘A’;
1: ADOPass1[‘status’]:= ‘T’;
end;
ADOPass1[‘user_nama’]:= edit1.Text;
ADOPass1[‘password’]:=edit2.Text;
ADOPass1[‘tanggal’]:=edit3.text;
ADOPass1[‘jam’]:=edit4.text;
ADOPass1.post;
tapi kok ga bisa ?
thanks ye…
biasakan untuk memakai sintak sql aja, apabila terdapat error mudah untuk tracenya.silahkan explore ssuai dengan contoh 🙂 .
makasih mas tas artikelx tp saya blom ngerti soalx baru mau belajar delphi….
Keep learning as you can … you will be one of professional persons …
😀 good post,
gimana kalau pada saat running / open form :
1. create temporary table
2. assign ke grid
3. tambahin terus sampe pegel data 😀
4. mau ngesave … pake zSQLProcessor yang bisa multi-statement …
insert into tabel_bener
select … from tabel_temporer;
delete from tabel_temporer;
SQLProc.Execute;
5. Refresh grid, kasih info ke user data dah ke simpen ..
gitu ajah ide nya … dikid
Mantabz neh si om klo dah angkat bicara 😀
kalo pake database access bisa gak dibuat table temporary?
aku dah coba kok error ya om….
yang mana nih yang error 😛
aku juga bingung..error nya dimana?
wakakkakkakakkakk….ada2 aja neh… :))
mas sory klo nanya nya nyimpang..
gmna cara import data dari ms acces (atau sqlserver) ke interbase, saya ada tugas bikin aplikasi delphi-interbase, tp studi kasusnya perlu data yg bnyk n dari format yg berbeda..
mohon bantuannya..
Maaf Mas,,
Saya mau tanya!!
Kalau cara memasukkan data yang terselect di dalam string grid ke dalam Edit Box Gimana ya!!
Event’a tapi Pas lagi DblClick baris yang terselect
Terima Kasih
ma’f mas aq mau d’ajarin bikin aplikasi untuk pengdaan barang…
silahkan hubungi saya via ym 🙂
mohon bantuannya…
mas tigor mau manya nech…
gimana caranya nyimpan data gambar trus munculin lagi.
data gambar di save di dbgrid from2 dan image ada di form1.
nah saat mau edit data
muncul dah gambar tuch di image form1
oya data dari access mas tigor
klo mo simpan secara masal kan sintak-sqlnya tinggal begini “INSERT INTO tabel_master (select * from tabel_temporary WHERE kondisinya_apa)”, syarat fields2nya sama, kl ga sama disamain dulu dg as
betul sekali mas 🙂
pengen osourcing pembuatan struk penjualan di qrepoot
mksdnya osourcing mas?
sy pake database m.access, ada table ‘tbharga’, field2x-nya status,harga,hari,jam. memakai ADOQueryHarga.
ada 3 combobox (status,hari,jam), edit(harga).
yg mo sy tanya, jika saya pilih:
status = pelajar
hari = senen
jam = 6
maka yang dia bayar adalah 120.000
bentuk kodingnya gimana ya mas ???
thx banget atas bantuannya
Bagus banget bahasan-bahansanya…. thanks jadi menambah inspirasi…. terutama bwt Tigor
Mas,mau tanya soal penyimpanan data gambar di database,coding simpannya gimana ya?(databasenya pakai paradox).
Tlg jawabannya kirim ke email ini aja anitameylinda@ymail.com
Trima kasih sebelumnya.
gambarnya jgn disimpan,direktory tempat datanya aja yg disimpan sebagai char,lalu jika data gambar di klik kasih printah load
mas mau nanya, kalau databasenya menggunakan ms.access bisa g dilakukan penyimpanan massal?
bisa 🙂
kao pakek access , script diatas yg dirubah yg mana nya mas ?
nice post gan…
udah nyari browse kemana2, ktemu juga…
thank’s gan…gw coba dulu….
mas minta tolong ,gimana cara bikin satu nota untuk banyak barang ? aku bikin project tentang penyewaan karaoke.makaaih mas
mas, untuk 1 table gimana mas? tolong kasih petunjuk
Bro mo tanya..
kalo buat aplikasi penyimpan waktu pake delphi gimana yach ??
maksudnya buat hitung selisih waktunya..
bang,kalau menyimpan pdf ke delphi sama codingnya seperti itu?hanya mengganti ekstensi jpg ke pdf?
maaf mas, mau tanya
misalkan kita bikin sebuah program perpustakaan dengan dua form yaitu form pengembalian dan form peminjaman, nah pada saat saya input data nya itu masuk dalam database yang berbeda antara peminjaman dan pengembalian, nah gimana ya solusi paling mudah supaya kedua form tersebut masuk dalam satu database yang sama, apakah harus membuat database dengan mysql atau bagaimana? terimakasih