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
>