Sekedar saran,
Bagaimana kalau commandnya dibedakan.
Kita menggunakan 2 buah command button, 1 untuk Add / Save, satu lagi
untuk Edit / Cancel.
Nanti codingnya sbb :
Private Sub CmdAdd_Click()
If CmdAdd.Caption = "&Add" Then
CmdAdd.Caption = "&Save"
CmdEdit.Caption = "&Cancel"
'Panggil Fungsi Kosongkan Teks Disini
BlankText
Else 'Mau Simpan Data
CmdAdd.Caption = "&Add"
CmdEdit.Caption = "&Edit"
'Panggil Fungsi Simpan Data Disini
SimpanData
Endif
End Sub
Private Sub CmdEdit_Click()
If CmdAdd.Caption = "&Add" Then
CmdAdd.Caption = "&Save"
CmdEdit.Caption = "&Cancel"
'Panggil Fungsi Edit Disini
EditData
Else 'Cancel
CmdAdd.Caption = "&Add"
CmdEdit.Caption = "&Edit"
'Panggil Fungsi CancelData
CancelUpdateData
Endif
End Sub
Satu lagi, sebaiknya gunakan fungsi / prosedur validasi yang terpisah
dari fungsi lainnya sehingga program lebih mudah di maintain.
Contoh Fungsi :
Function ValidasiInput() as Boolean
If Len(Trim(TxtA.Text)) <> 10 Then
Msgbox "Panjang karakter harus 10 karakter !"
ValidasiInput = False
Exit Function
Endif
ValidasiInput = True
End Function
Nanti Fungsinya dipanggil melalui prosedur simpan sbb :
Private Sub SimpanData()
If ValidasiInput() = False Then 'Hasil input tidak valid
Exit Sub
Endif
'Kode Simpan Data
End Sub
Note : Kode diatas diketik di email, tidak diujicoba, so CMIIW.
Apa yang saya sampaikan tidak langsung kena pada masalah anda, tapi
kalau kita membuat program tidak terstruktur (Saya juga masih belum
terstruktur nih :-P), nantinya kita malah sulit me-managenya...
Jangan lupa, penggunaan On Error Resume Next sebaiknya selektif,
karena membuat error tidak bisa ditrapping (biasanya diterapkan supaya
user gak ngomel, hehehe...)
Salam,
Muhammad Rivai Andargini
--- In [email protected], "rima" <[EMAIL PROTECTED]> wrote:
> ini contoh programnya:
>
>
> Dim ECON As ADODB.Connection
> Dim RS1 As ADODB.Recordset
> ============================================
> 'ini maslahnya
> 'pas aku add data pertama masuk tapi pas aku add lagi gak masuk datanya
> Private Sub Command1_Click() 'ini tombol add
> If Len(Trim(Text1.Text)) < 5 Or Len(Trim(Text1.Text)) > 5 Then
> MsgBox ("ID tidak boleh <5 ATAU >5")
> Text1.SetFocus
> Text1.Text = " "
> Exit Sub
> End If
>
>
> If Text2.Text = " " Then
> MsgBox ("diisi...")
> Text2.SetFocus
> Exit Sub
> End If
>
>
> If Len(Trim(Text1.Text)) = 5 And Text2.Text <> " " Then
> ok
>
>
> If RS1.RecordCount > 0 Then
> MsgBox ("Data Sudah Ada")
> Text1.SetFocus
> Exit Sub
> End If
> On Error Resume Next
> RS1.AddNew
> RS1.Fields("CD_BRG") = Text1.Text
> RS1.Fields("NM_BRG") = Text2.Text
> RS1.Update
> End If
>
>
> BLANK 'ini fungsi kosongkan
>
>
>
>
>
>
> End Sub
>
> =============================================
> 'ini fungsinya
>
> Private Sub BLANK()
> Text1.Text = " "
> Text2.Text = " "
> Text1.SetFocus
>
> End Sub
> ===================================================
> Private Sub Form_Load()
>
> Set ECON = New ADODB.Connection
> With ECON
> .ConnectionString = "provider=sqloledb;user
id=EMC;password=rers123;persist security info=true; initial
catalog=tester;data source=rio-csumum"
> .Open
> If Not .State = adStateOpen Then
> MsgBox "Tidak dapat membuat hubungan ke database"
> End If
> End With
>
> End Sub
> =============================================
> 'ini fungsi buka recordsetnya
> Private Sub ok()
> Dim sql As String
> Set RS1 = New ADODB.Recordset
>
>
> sql = "select * from jns_brg where cd_brg='" & Trim(Text1.Text) & "'"
> With RS1
> .ActiveConnection = ECON
> .CursorLocation = adUseClient
> .CursorType = adOpenDynamic
> .LockType = adLockOptimistic
> .Source = sql
> .Open
> End With
>
>
> End Sub
> ----- Original Message -----
> From: Tatu Inderawan
> To: [email protected]
> Sent: Wednesday, August 10, 2005 12:12 PM
> Subject: RE: [Programmer-VB] TANYA UPDATE RECORD
>
>
> sory neh, aku kurang nangkep maksudnya, kirim aja codingnya
sekalian error msg-nya ya?
> takutnya codenya sudah benar tp logikanya yg salah... OK...
>
> sekedar gambaran :
>
> Private Sub cmd_AddSave()
>
> fungsi_simpan
> fungsi_kosongkan_teks
>
> End Sub
>
> dan pastikan koneksi database & record sudah di open sebelumnya...
>
> -----Original Message-----
> From: [email protected]
[mailto:[EMAIL PROTECTED] Behalf Of rima
> Sent: 10 Agustus 2005 11:43
> To: [email protected]
> Subject: Re: [Programmer-VB] TANYA UPDATE RECORD
> Importance: High
>
>
> input pertama masuk tapi pas yang keduakalinya mo input datanya
gak masuk...
>
> pas aku teliti ternyata soal peletakan fungsi untuk mengosongkan
teks di interface...
>
> jadi gini ceritanya, aku mo buat tombol add itu sekalian simpan
data dan mengosongkan teks di interfacenya...ternyata jadinya
begitu...ada solusi gak ya Tu.....soalnya klo pas fungsi menghapus
teks di interfacenya gak aku aktifin data yang aku input masuk semua
gimana ya ngakalin fungsi itu supaya gak seperti itu....
> ----- Original Message -----
> From: Tatu Inderawan
> To: [email protected]
> Sent: Wednesday, August 10, 2005 8:13 AM
> Subject: RE: [Programmer-VB] TANYA UPDATE RECORD
>
>
> maksudnya input data yg pertama bisa atau nggak?
> -----Original Message-----
> From: [email protected]
[mailto:[EMAIL PROTECTED] Behalf Of rima
> Sent: 09 Agustus 2005 16:16
> To: [email protected]
> Subject: [Programmer-VB] TANYA UPDATE RECORD
>
>
> Dear All,
>
>
> aku ada trouble didatabase sql, yaitu pas input data pertama
tapi data yang kedua tidak masuk...ada yang bisa kasih pencerahan gak
ya????please...
>
>
> thank's
------------------------ Yahoo! Groups Sponsor --------------------~-->
<font face=arial size=-1><a
href="http://us.ard.yahoo.com/SIG=12hcf40en/M=362329.6886308.7839368.1510227/D=groups/S=1705115364:TM/Y=YAHOO/EXP=1123663743/A=2894321/R=0/SIG=11dvsfulr/*http://youthnoise.com/page.php?page_id=1992
">Fair play? Video games influencing politics. Click and talk back!</a>.</font>
--------------------------------------------------------------------~->
Untuk keluar dari millis ini, kirim email kosong ke:
[EMAIL PROTECTED]
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/Programmer-VB/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/