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]
>


Kirim email ke