Dear Yongki,
Sebelum saya menjawab pertanyaan mungkin saya ingin memberikan sedikit
saran :
1. biasakan untuk mendeklarasikan variabel berdasarkan tipe dari data,
jika format tersebut string sebaiknya gunakan type string.
Dim str as String
dan jika tipe data tersebut integer deklarasikan sebagai integer :
Dim i as Integer
2. sebaiknya code ditulis secara lengkap, jika anda ingin mengambil
isi text dari text1 sebaiknya gunakan text1.Text jangan hanya text1
saja walaupun sebenarnya text1 tersebut mengacu pada isi dari text1.
3. Gunakan With jika anda sering memanggil variabel tersebut, agar
penulisan code menjadi lebih efektif dan efisien.
Ok, sekarang saya jawab pertanyaanya.
sebenarnya masalahnya simple, yaitu anda lupa untuk melakukan update
terhadap recordset kedalam table, jadi tambahkan Update untuk
melakukan update terhadapp data yang anda rubah.
...
If Data1.Recordset.Field("SisaHutang") >= 0 Then
Data1.Recordset.Field("SisaHutang") = 0
Data1.Recordset.Field("Bayar")=Data2.Recordset.Field("Bayar")
' Tambahkan Update
Data1.Recordset.Update
End If
OK semoga hal tersebut bisa membantu Anda.
Best Regard,
Aiska Hendra
--- In [email protected], "yongki" <[EMAIL PROTECTED]> wrote:
>
> Salam VB mania,
>
> Mohon bantuan dari rekan2 VB Mania, saya ada kendala saat bikin
update nilai pembayaran hutang, kasusnya seperti ini :
>
> Tabel Hutang.
> Tanggal Nama Hutang Bayar SisaHutang
>
--------------------------------------------------------------------------------------
> 14/01/2008 Andri 5,000 0
0
> 24/01/2008 Andri 2,000 0
0
> 28/01/2008 Andri 3,000 0
0
>
>
> Tabel Bayar.
> Tanggal Nama Bayar
> ----------------------------------------------------
> 31/01/2008 Andri 8,500
>
> Sedangkan source code yg saya buat,seperti ini :
>
> Sub Bayar()
> Dim i
>
> ' Text1 saya konekkan dgn tabel Bayar dan
> ' Data1 dgn tabel Hutang
> ' Data2 dgn tabel Bayar
>
> Data1.RecordSource = "Select * from Hutang where Nama='" &
trim(text1) &"'"
>
> If Data1.Recordset.RecordCount = 0 Then
> On Error Resume Next
> Else
> For i = 1 to Data1.Recordset.RecordCount
>
Data1.Recordset.Field("SisaHutang")=Data1.Recordset.Field("Hutang")-Data2.Recordset.Field("Bayar")
> if Data1.Recordset.Field("SisaHutang") = 0 Then
> Data1.Recordset.Field("SisaHutang") = 0
>
Data1.Recordset.Field("Bayar")=Data2.Recordset.Field("Bayar")
> end if
> Next i
> End If
> End Sub
>
> Tapi gagal terus, sedangkan yg saya inginkan dengan hasil seperti ini :
>
> Tabel Hutang.
> Tanggal Nama Hutang Bayar
SisaHutang
>
----------------------------------------------------------------------------------------------------
> 14/01/2008 Andri 5,000 8,500
0
> 24/01/2008 Andri 2,000 3,500
0
> 28/01/2008 Andri 3,000 1,500
-1,500
>
> Tolong bantuannya ya.
> Thanks All.
>
> [Non-text portions of this message have been removed]
>