hmmm....
ok.. kayanya saya melihat keanehan.... (kalau salah harap dimaklumi.... dah
malem... agak ngantuk. huehehehe)
itu selectnya buat masukin data bukan buat nampilin data toh maksudnya ya ?
jadi si rsM itu adalah recordset yang memegang data mysql dan yang akan
diupdate.....
sedangkan data yang akan dimasukkan ke rsM itu adalah data dari Data1 (yang
berisi data dari mdb).. betul begitu ??
lah ya kalu gitu jelas kaga masuk........ kan dia akan error waktu di
save.... udah gitu ada save ke field userin, tapi field userin nya gak di
select.... ya tambah error... mgkn ada syntax on error resume next kali di
atasnya ya jadinya keliatannya tetep jalan2 aja.. cuma data kaga masuk ???
anyway.. jadi untuk select record yang mau di update.......jangan pake
embel2 seperti distinct, group dan lain sebagainya.. tapi cukup select
aja.......
atau itu codingnya jg gak full ?? tapi mestinya dah di copy paste full kan
??
jadi kira2 kaya gini kalu dicoding ulang di coding yang savenya aja :
Set rsM = New ADODB.Recordset
xM = "Select ID, TglIn, JamIn,UserIn From TableIn where ID=''"
'<== untuk select record yang mau disave cukup select semua field yang
diperlukan dari table itu dan gak perlu pake id yang ada jadi yang id nya =
'' aja .
rsM.CursorLocation = adUseClient
rsM.Open xM, cnM, adOpenKeyset, adLockOptimistic
vRec = 0
pvpBar1.Limit = Data1.Recordset.RecordCount - 1
Data1.Recordset.Sort="ID,TglIn" '<== disort dulu per id lalu tglin
supaya bener....
TempID = ""
TempTglIn=dateserial(1900,1,1)
If Data1.Recordset.RecordCount > 0 Then
Do While Not Data1.Recordset.EOF
if TempID<>Data1.Recordset!ID or
TempTglIn<>Data1.Recordset!TglIn then
vRec = vRec + 1
cnM.BeginTrans
rsM.AddNew
rsM.Fields("ID") = Data1.Recordset!ID
rsM.Fields("TglIn") = Data1.Recordset!Tgl
rsM.Fields("JamIn") = Data1.Recordset!Jam
rsM.Fields("UserIn") = cUserId
rsM.Update
cnM.CommitTrans
pvpBar1.Value = vRec
endif
TempID=Data1.Recordset!ID
TempTglIn=Data1.Recordset!TglIn
Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then
Exit Do
End If
Loop
End If
-----Original Message-----
From: [email protected]
[mailto:[EMAIL PROTECTED] Behalf Of Gege Nugroho
Sent: Friday, February 29, 2008 9:10 AM
To: [email protected]
Subject: [Programmer-VB] Tanggapan Lanjutan Masalah pada SELECT DISTINCT
up Lai Min Feng
Karena sampai hari ini gwe lom dapet konklusi yang final dan Oom Lai Min
Feng (LMF) meminta saya untuk menuliskan keseluruhan kodingnya. Baiklah ini
dia :
Private Sub Form_Load()
Me.Left = (Screen.Width - Me.Width) \ 3
Me.Top = (Screen.Height - Me.Height) \ 2.75
LocationPath
Data1.DatabaseName = DatabaseTemp & "TempTransSQL.Mdb"
Data1.RecordSource = "Absen1"
Data1.RecordsetType = 0
Data1.Refresh
KosongData
If hAwal = vIn Then
Me.Caption = "Absen Karyawan Masuk"
Else: Me.Caption = "Absen Karyawan Pulang"
End If
End Sub
Private Sub Simpan()
vBlank = ""
pvpBar1.Visible = True
Set cnM = New ADODB.Connection
cnM.Open "Driver={MySQL ODBC 3.51 Driver};Server=server;" & _
"Port=3306;Database=Database;User=root;Password=XXX;Option=3;"
If hAwal = vIn Then
Data1.Refresh
On Error Resume Next
Set rsM = New ADODB.Recordset
xM = "Select ID, TglIn, Max(JamIn) As JamIn From TableIn Group By
ID, TglIn Having ID=" & Data1.Recordset.Fields("ID") & "'" <----pake ini pun
ngga masuk datanya...
rsM.CursorLocation = adUseClient
rsM.Open xM, cnM, adOpenKeyset, adLockOptimistic
vRec = 0
pvpBar1.Limit = Data1.Recordset.RecordCount - 1
If Data1.Recordset.RecordCount > 0 Then
Do While Not Data1.Recordset.EOF
vRec = vRec + 1
cnM.BeginTrans
rsM.AddNew
rsM.Fields("ID") = Data1.Recordset!ID
rsM.Fields("TglIn") = Data1.Recordset!Tgl
rsM.Fields("JamIn") = Data1.Recordset!Jam
rsM.Fields("UserIn") = cUserId
rsM.Update
cnM.CommitTrans
pvpBar1.Value = vRec
Data1.Recordset.MoveNext
If Data1.Recordset.EOF Then
Exit Do
End If
Loop
End If
cnM.BeginTrans
cnM.Execute "Delete From TableIn Where ID='" & vBlank & "'"
cnM.CommitTrans
rsM.Close
Set rsM = Nothing
If HAwal=vOut then
.
.Koding hampir sama hanya disimpan di TableOut
.
End If
Intinya :
Pada saat form aktif gwe pake mdb, pada saat simpan gwe pake MySQL
PS : Trims yo bwat semua yang udah mbantuin ngasih masukan...
dariyangmasihbingung
Regards
Gege Nugroho
----------------------------------------------------------------------------
--
Never miss a thing. Make Yahoo your homepage.
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.516 / Virus Database: 269.21.2/1304 - Release Date: 2/29/2008
8:18 AM