Dear Master Access,

Sekali lagi tentang split.mdb.
Mohon maaf sebelumnya. Kemarin sudah berhasil untuk penggabungan data.

Kasusnya kembali muncul ketika saya coba menambahkan field di Table1 (nama 
field : Jobfile, tipe data : Text). Field/kolom  ini sebenarnya identik dengan 
kolom Job.
Ketika diconvert ke table2, saya menambahkan sintak pada module1 pada baris 
berikut :

strSQL = "INSERT INTO Table2(RecID,Job,Jobfile,Jumlah,Customer) VALUES(" & 
vBarisKe & ",'" & rst!Job & "'," & rst!Jobfile & "'," & rst!Jumlah & ",'" & 
ReadJob(rst!Job) & "')"


Ketika saya jalankan tombol command0 dari form hasilnya kosong pada Table2 
Apakah ada yang salah dengan penambahan sintak saya. 

File mdb terlampir.

Mohon pencerahan sekali lagi. Saya udah coba-coba berkali2 tapi hasilnya tidak 
bisa.

Terima kasih





Best Regards,
MANSUR AZIZ
[email protected]


--- Pada Kam, 24/6/10, mansur aziz <[email protected]> menulis:

Dari: mansur aziz <[email protected]>
Judul: Bls: [belajar-access] Re: Split data
Kepada: [email protected]
Tanggal: Kamis, 24 Juni, 2010, 1:26 PM







 



  


    
      
      
      

Terima kasih Master... . Luar Biasa. Sukses.
Sekali lagi, terima kasih. 



Best Regards,
MANSUR AZIZ
mansur4...@yahoo. com


--- Pada Kam, 24/6/10, belajar-access- ow...@yahoogroup s.com <belajar-access- 
ow...@yahoogroup s.com> menulis:

Dari: belajar-access- ow...@yahoogroup s.com <belajar-access- ow...@yahoogroup 
s.com>
Judul: Bls:
 [belajar-access] Re: Split data
Kepada: belajar-access@ yahoogroups. com
Tanggal: Kamis, 24 Juni, 2010, 10:35 AM







 



    
      
      
      Tentu saja tidak ada efeknya karena commandbutton tidak memanggil 
procedure.



1. pastikan isi command button seperti di bawah ini.



Private Sub Command0_Click( )

On Error GoTo Err_Command0_ Click



FormatTable1ToTable 2

   



Exit_Command0_ Click:

    Exit Sub



Err_Command0_ Click:

    MsgBox Err.Description

    Resume Exit_Command0_ Click

    

End Sub



2. Tambahkan satu Field / Kolom bernama RecID dengan tipe data Long Integer 
pada Table2. Jadikan kolom / field RecID ini sebagai Primary Key.



Kalau anda ingin memanggil dari macro, anda harus mengganti kata Public Sub 
menjadi Public Function.



Jangan lupa poin nomor 2.



--- In belajar-access@ yahoogroups. com, mansur aziz <mansur4...@. ..> wrote:

>

> 

> Saya kesulitan memahami alur dari sintak tersebut. Saya coba pastekan ke 
> module1, kemudian saya buat command button di form1, tapi tidak ada efeknya. 
> Ketika saya running tidak ada efeknya.

> 

> Terlampir file mdb nya.

> 

> Mohon penjelasan lagi

> 

> 

> Best Regards,

> MANSUR AZIZ

> mansur4...@. ..

> 

> 

> --- Pada Kam, 24/6/10, belajar-access- ow...@yahoogroup s.com 
> <belajar-access- ow...@yahoogroup s.com> menulis:

> 

> Dari: belajar-access- ow...@yahoogroup s.com <belajar-access- 
> ow...@yahoogroup s.com>

> Judul: [belajar-access] Re: Split data

> Kepada: belajar-access@ yahoogroups. com

> Tanggal: Kamis, 24 Juni, 2010, 8:04 AM

> 

> 

> 

> 

> 

> 

> 

>  

> 

> 

> 

>   

> 

> 

>     

>       

>       

>       Copy Paste Fungsi dan Prosedur di bawah ini ke modul baru.

> 

> Jangan Lupa sesuaikan nama tabelnya.

> 

> Asumsi, Tabel1 berisi kolom Job (teks), Customer (text), Jumlah (Currency)

> 

> Tabel2 berisi kolom RecID(LongInt- PrimaryKey) , Job (teks), Customer 
> (text(255)), Jumlah (Currency)

> 

> 

> 

> Anda bisa memanggil Prosedur FormatTable1ToTable 2 dari command button / 
> macro.

> 

> 

> 

> Function ReadJob(ByVal Job As String) As String

> 

> On Error GoTo ReadJob_Err

> 

> 

> 

> Dim vRC As String 'vRC = variable Rantai Customer

> 

>    vRC = ""

> 

>    Dim rst As New ADODB.Recordset

> 

>    strSQL = "SELECT CUSTOMER FROM TABLE1 WHERE JOB='" & Job & "'"

> 

>    rst.Open strSQL, CurrentProject. Connection, adOpenKeyset, 
> adLockPessimistic, adCmdText

> 

>    

> 

>    If Not (rst.BOF Or rst.EOF) Then

> 

>         rst.MoveLast

> 

>         rst.MoveFirst

> 

>         For i = 1 To rst.RecordCount

> 

>             vRC = IIf(i = 1, rst!Customer, vRC & "~~" & rst!Customer)

> 

>             rst.MoveNext

> 

>         Next

> 

>    End If

> 

>    

> 

>    rst.Close

> 

>    Set rst = Nothing

> 

>    ReadJob = vRC

> 

> 

> 

> ReadJob_Keluar:

> 

>    Exit Function

> 

>    

> 

> ReadJob_Err:

> 

>    Debug.Print "Read Job Error Is : " & Err.Number & vbCrLf & Err.Description

> 

>    Resume ReadJob_Keluar

> 

>    

> 

>    

> 

> End Function

> 

> 

> 

> Public Sub FormatTable1toTable 2()

> 

> On Error GoTo Cara2_Err

> 

>    

> 

>     'Pembersihan Table2

> 

>     strSQL = "DELETE * FROM TABLE2"

> 

>     CurrentDb.Execute strSQL, dbFailOnError

> 

>             

> 

>     'Mengisi Table2 dgn data dari table1 + function ReadJob untuk mengisi 
> Kolom Customer.

> 

>     Dim rst As New ADODB.Recordset

> 

>     strSQL = "SELECT Table1.Job, Sum(Table1.Jumlah) AS Jumlah FROM Table1 
> GROUP BY Table1.Job;"

> 

>     rst.Open strSQL, CurrentProject. Connection, adOpenKeyset, 
> adLockPessimistic, adCmdText

> 

>     

> 

>     If Not (rst.BOF Or rst.EOF) Then

> 

>         rst.MoveLast

> 

>         rst.MoveFirst

> 

>         For vBarisKe = 1 To rst.RecordCount

> 

>             strSQL = "INSERT INTO Table2(RecID, Job,Jumlah, Customer) 
> VALUES(" & vBarisKe & ",'" & rst!Job & "'," & rst!Jumlah & ",'" & 
> ReadJob(rst! Job) & "')"

> 

>             CurrentDb.Execute strSQL, dbFailOnError

> 

>             rst.MoveNext

> 

>         Next

> 

>     End If

> 

>     

> 

>     rst.Close

> 

>     Set rst = Nothing

> 

>     

> 

>     

> 

> Cara2_Keluar:

> 

>    Exit Sub

> 

>    

> 

> Cara2_Err:

> 

>    Debug.Print "Read Job Error Is : " & Err.Number & vbCrLf & Err.Description

> 

>    Resume Cara2_Keluar

> 

>    

> 

> End Sub

>





    
     



 





    
     

    
    


 



  





Kirim email ke