Thursday, November 25, 2010

Re: [belajar-access] MS Acess dengan Database Mysql ???



Audzubillah himinasyaitonirrajim Bismillahirrahmanirrahiim ....,
Ini contoh script untuk mengambil data dari MySql ke tabel Ms Access. Mohon untuk disesuaikan dengan kondisi yang Sampeyan punya...
 
Private Sub AMBIL_DATA_B()
Dim i As Integer
Dim SQL As String
Dim db As Database
    Set db = CurrentDb
    DoCmd.Hourglass True
    KONEKSI
    If conn.State <> 0 Then
        Set rsp = New ADODB.Recordset
        rsp.Open "SELECT * FROM NAMA_TABEL _
        & " WHERE Kondisi-kondisi" _
        & " ORDER BY ..... limit 0,100", conn
        If Not rsp.EOF Then
            i = 0
            Do While Not rsp.EOF
                Set db = CurrentDb
                SQL = "INSERT INTO NAMA_TABEL (Field-Field yang akan diisi contoh ID,J,dC,Transcode)" _
                    & " Values(field-field di MySql, contoh: " & rsp!ID & "," & rsp!J & "," & rsp!c _
                    & ",'" & rsp!TransCode & "')"
                db.Execute SQL, False
                db.Close
                Set db = Nothing
                i = i + 1
                rsp.MoveNext
            Loop
        End If
        rsp.Close
        Set rsp = Nothing
        
       End Sub
 
Dari sini kalau edit tinggal ngubah perintahnya, misal:
 
KONEKSI
    If conn.State <> 0 Then
      conn.execute "Update NAMA_TABEL set NAMA_FIELD = NILAI_BARU
       where ID=" & ID (yang ditayangan MS Access)
end if
conn.close
set conn = nothing
 
 
Semoga bisa membantu dan menambah semangat...
 
Hariyanto (surabaya) 
 


--- On Thu, 25/11/10, Ahmad Qomaruddin <ud13en@gmail.com> wrote:

From: Ahmad Qomaruddin <ud13en@gmail.com>
Subject: Re: [belajar-access] MS Acess dengan Database Mysql ???
To: belajar-access@yahoogroups.com
Date: Thursday, 25 November, 2010, 1:26 PM

 
contoh scripnya gimana pak?
Untuk update ke mysql.. dan juga sebaliknya..
Terima kasih

On 11/24/10, hari yanto <har_i20002000@yahoo.com> wrote:
> --- On Wed, 24/11/10, Ahmad Qomaruddin <ud13en@gmail.com> wrote:
>
>
> From: Ahmad Qomaruddin <ud13en@gmail.com>
> Subject: Re: [belajar-access] MS Acess dengan Database Mysql ???
> To: belajar-access@yahoogroups.com
> Date: Wednesday, 24 November, 2010, 10:45 AM
>
>
>
>
>
>
> Biar saya coba dulu pak, skalian mohon penjelasan
>
> 1. ''Semua user
> bekerja di Tabelnya sendiri-sendiri
> (berfungsi sebagai data temporer),
> kalau data sudah OK masuk ke basis
> data.'' Artinya perubahan hanya terjadi di lokal komp saja ya? Apabila
> database dibuka oleh komp lain(komp B) maka perubahan yg dilakukan
> komp A tidak terakses oleh komp B.
>
>>> Data temporer menjadi pegangan. Misalnya, Nama, alamat dan ID kita
>>> >>ambil dari Mysql > masukkan ke data temporer Ms Access. Waktu update
>>> >>yang diupdate basis data di MySql menggunakan cantolan ID. Terus untuk
>>> >>menayangkannya kita ambil lagi data itu ke Ms Access. Proses itu
>>> terjadi >>dalam hitungan 0, 0 ... detik. Sehingga kalau Komp lain (B)
>>> melihat data, >>akan ketahuan perubahan itu.
>>>Ini mirip prinsip yang ada di aplikasi web....
>>> Mudah-mudahan ini juga bisa menjawab pertanyaan ke-2.
>
>>> Hariyanto (Surabaya)
>
> 2. Kalo pakai cara diatas update database mysql-nya gimana?(scriptnya)
>
> Terima kasih, Jazakallaha Khoiran...
>
> On 11/23/10, hari yanto <har_i20002000@yahoo.com> wrote:
>> Audzubillah himinasyaitonirrajim Bismillahirrahmanirrahiim ....,
>>
>> Mohon maaf sebelumnya. Saya lupa memberi penjelasan lanjutan. Konsep saya
>> begini. Semua user bekerja di Tabelnya sendiri-sendiri (berfungsi sebagai
>> data temporer), kalau data sudah OK masuk ke basis data. Atau sekedar
>> melihat data.
>>
>> Makanya saya buat nama TABEL_LEGES.  TABEL_LEGES saya definisikan di
>> Module
>> begini:
>> Function TABEL_LEGES()
>>     TABEL_LEGES = "BU_DATA_AS_" & KOM
>> End Function
>>
>> Sedangkan KOMnya:
>>
>> Private Const MAX_COMPUTERNAME As Long = 15
>> Private Declare Function GetComputerName Lib "kernel32" _
>>    Alias "GetComputerNameA" _
>>   (ByVal lpBuffer As String, _
>>    nSize As Long) As Long
>> Private Function TrimNull(item As String)
>>   'return string before the terminating null
>>    Dim pos As Integer
>>
>>    pos = InStr(item, Chr$(0))
>>
>>    If pos Then
>>       TrimNull = Left$(item, pos - 1)
>>    Else
>>       TrimNull = item
>>    End If
>>
>> End Function
>> Function KOM()
>> Dim tas As String
>>
>>   'pre-load the text boxes with
>>   'the local computer name for testing
>>    tas = Space$(MAX_COMPUTERNAME + 1)
>>    Call GetComputerName(tas, Len(tas))
>>
>>     KOM = TrimNull(tas)
>> End Function
>>
>> Silahkan di edit sesuai kebutuhan.
>>
>> Kalau misalnya komputer A, memakai form1, maka recordsourcenya TABEL_LEGES
>> (tabel dia sendiri, bukan milik komputer lain).
>>
>> Kalau cuma ingin create tabel berdiri sendiri, bisa menggunakan:
>>
>> conn.Execute "DROP TABLE IF EXISTS CONTOH";
>>
>> Maka akan tercipta nama tabel CONTOH. Sedangkan kalau memakai TABEL_LEGES,
>> akan tercipta tabel BU_DATA_AS_" & KOM (nama komputernya).
>>
>> Semoga ini bisa membantu...
>>
>> Hariyanto (Surabaya)
>>
>>
>> --- On Tue, 23/11/10, Ahmad Qomaruddin <ud13en@gmail.com> wrote:
>>
>>
>> From: Ahmad Qomaruddin <ud13en@gmail.com>
>> Subject: Re: [belajar-access] MS Acess dengan Database Mysql ???
>> To: belajar-access@yahoogroups.com
>> Date: Tuesday, 23 November, 2010, 12:31 PM
>>
>>
>>
>>
>>
>>
>> Maaf, sudah bisa... kayaknya ada script yang kurang.
>>
>> Sekarang di script buat tabel, ada error di :
>>
>> conn.Execute "DROP TABLE IF EXISTS " & TABEL_LEGES &
>> ";"--->berwarna kuning
>> conn.Execute sql
>>
>> On 11/23/10, Ahmad Qomaruddin <ud13en@gmail.com> wrote:
>>> Nyoba baru sampai disini, sudah ga jalan ...
>>>
>>>>> Prosedurnya:
>>>>> >> koneksi tanpa menyebut nama database: scriptnya begini:
>>>>> >>
>>>>> >> 'ini untuk untuk berhubungan dengan MySql
>>>>> >> Dim conb As New ADODB.Connection
>>>>> >> Public Function conbToDB(serverName As String, _
>>>>> >> UserName As String, userPass As String, _
>>>>> >> dbPath As String)
>>>>> >> Dim strCon As String
>>>>> >> On Error GoTo errHandle
>>>>> >>
>>>>> >> strCon = "DRIVER={MySQL ODBC 5.1 Driver};SERVER=" _
>>>>> >> & serverName & ";" & _
>>>>> >> "UID=" & UserName & ";PWD=" & userPass & ";OPTION=16426"
>>>>> >> Set conb = New ADODB.Connection
>>>>> >> conb.Open strCon
>>>>> >> Exit Function
>>>>> >> errHandle:
>>>>> >> MsgBox "SERVER SEDANG TIDAK AKTIF", , "NON AKTIF"
>>>>> >> conb.Close
>>>>> >> Set conb = Nothing
>>>>> >> End Function
>>>>> >>
>>>>> >> 'Terus lanjutkan dengan dengan ini:
>>>>> >>
>>>>> >> Function KONEKSIS()
>>>>> >> conbToDB "isi hostname/localhost/ip", "isi dengan username", "isi
>>>>> >> dengan
>>>>> >> password", 3306
>>>>> >> End Function
>>>>> >>
>>>>> >> 'Lalu kita jalankan fungsi itu dengan memanggilnya, misalnya:
>>>>> >>
>>>>> >> Private Sub Command0_Click()
>>>>> >> KONEKSIS
>>>>> >> If conb.State <> 0 Then
>>>>> >> conb.Execute "create database IF Not EXISTS conto_rek"
>>>>> >> MsgBox "sukses membuat database dengan nama conto_rek di
>>>>> >> MySql"
>>>>> >> Else
>>>>> >> MsgBox "gagal membuat database di MySql"
>>>>> >> End If
>>>>> >>
>>>>> >> conb.Close
>>>>> >> Set conb = Nothing
>>>>> >> End Sub
>>>>> >>
>>>
>>> Muncul debug "Object Required" .....
>>>
>>> If conb.State <> 0 Then --->berwarna kuning.
>>>
>>
>> --
>> Ahmad Qomaruddin
>> Sulang Rembang Jawa Tengah Indonesia
>> email : ud13en@gmail.com
>> blog : ud13en.blogspot.com
>>
>>
>>
>>
>>
>>
>>
>>
>
> --
> Ahmad Qomaruddin
> Sulang Rembang Jawa Tengah Indonesia
> email : ud13en@gmail.com
> blog : ud13en.blogspot.com
>
>
>
>
>
>
>
>

--
Ahmad Qomaruddin
Sulang Rembang Jawa Tengah Indonesia
email : ud13en@gmail.com
blog : ud13en.blogspot.com



__._,_.___


SPAM IS PROHIBITED



Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___

No comments:

Post a Comment