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

Kirim email ke