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 [email protected] --- Pada Kam, 24/6/10, [email protected] <[email protected]> menulis: Dari: [email protected] <[email protected]> Judul: [belajar-access] Re: Split data Kepada: [email protected] 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 FormatTable1ToTable2 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 FormatTable1toTable2() 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

