Wa'alaikumussalam Wr. Wb.

Coba baris open recordset diubah menjadi :
    rs.Open strsql, conn, adOpenKeyset, adLockOptimistic
kemudian query diubah menjadi :
   SELECT pass FROM [user]

Wassalamu'alaikum Wr. Wb.
Kid.





2013/4/18 Rahmat Hermawan <ione_1...@yahoo.com>

> **
>
>
> Assalamualaikum..
>
> Terimakasih Mr. Kid atas pencerahannya...
> Saya sudah memahami cara mengisi nilai dari cell excel ke field pada tabel
> di MySQL, tapi kok kebalikannya ga bisa ya? saya sudah mencoba script yang
> diberikan Mr. Kid dengan penyesuaian pada nama tabel dan nama fieldnya,
> tapi pada script "if rs.recordcount>0 then", selalu masuk ke "else"
> (selalu bernilai 0) padahal data di tabel MySQL ada.
> Mungkin fokus permasalahannya saya tuangkan ke script VBA pada file excel
> yang saya lampirkan.
> Pada file itu bila kita klik tombolnya akan selalu muncul pesan "data
> belum ada" yang menunjukkan data tidak ada sama sekali, apa ada yang salah
> pada script ini? database pada phpmyadmin saya print scrint dan saya
> lampirkan juga.
>
> Mohon pencerahannya lagi Master...
>
> Untuk koneksi database dengan komputer berbeda dalam 1 jaringan, setelah
> googling sana-sini sampe hampir stress, Alhamdulillah sudah berhasil..
> hehehe..
>
> Sekali lagi terima kasih yang sebesar-besarnya..
> Wassalam.
>   ------------------------------
>  *From:* Mr. Kid <mr.nm...@gmail.com>
> *To:* BeExcel <belajar-excel@yahoogroups.com>
> *Sent:* Sunday, April 14, 2013 10:30 PM
> *Subject:* Re: [belajar-excel] excel dengan database mysql
>
>
> Hai Rahmat,
>
> 1. Bagaimana sript vba untuk memasukkan ("C3").Value pada sheet1 ini,
> kedalam field "alamat" pada database mysql. Kalau dengan database excel
> sendiri kan script intinya Cuma : .Cells(baris, 2) = Sheet1.Range("C3").
> (dalam file yang saya lampirkan).
> >> Ya betul, untuk kegiatan di Excel dalam hal membaca suatu nilai range
> dan menulis ke range yang lain dapat berbentuk :
>                 .Cells(baris, 2).value = Sheet1.Range("C3").value
> Sebelum proses tersebut, sepertinya ada proses pencarian data berdasar
> nama yang diinput dalam tabel data.
> Jika ada namanya, maka dilakukan proses meng-update nilai lama yang ada
> dalam tabel data dengan nilai baru.
> Jika tidak ada namanya, maka dilakukan proses menambah record baru dalam
> tabel data.
> Proses ini berlaku dimana saja ketika berkegiatan meng-input data.
>
> >> Begitu juga ketika akan melakukan kegiatan tersebut kedalam database
> yang tersimpan di database engine seperti MySQL.
> Setelah Anda mendapatkan koneksi (dalam script Anda, koneksinya dimasukkan
> kedalam variabel conn), maka Anda perlu melakukan proses-proses seperti
> tadi. Berhubung bahasa komunikasi data adalah menggunakan SQL, maka
> dituntut untuk menguasai bahasa SQL (dasar-dasarnya bisa dipelajari 
> disini<http://www.w3schools.com/sql/>
> ).
>
> Langkah pertama adalah mengetahui ada atau tidaknya record data berdasar
> nama tertentu. Berarti ada proses mengambil dataset dari MySQL database
> tersebut.
> Jika dengan bantuan object data bernama ADO, maka kira-kira : (setelah
> proses koneksi conn berhasil)
> dim rs as ADODB.recordset    'deklarasi variabel dataset (recordset)
> set rs=new adodb.recordset   'init recordset
> 'isi recordset dengan data dari sumber (MySQL hasil koneksi conn pada
> tabel tertentu -> query SELECT)
> rs.open "SELECT alamat FROM nama_tabel WHERE nama='" &
> Sheet1.Range("C3").value & "'" , conn , adOpenKeyset
> if rs.recordcount>0 then     'cek ada recordnya atau tidak
>      'ada recordnya, maka update isi kolom alamat saja (oleh sebab itu
> yang di-SELECT hanya kolom alamat saja)
>      rs.movefirst    'ke record pertama
>      rs.fields("alamat").value = Sheet1.Range("C4").value
>      rs.update
>
>     'jika update data akan menggunakan query UPDATE melalui object conn
> bisa dengan script : (aktifkan script bila perlu)
>     'conn.execute "UPDATE nama_tabel SET alamat='" &
> Sheet1.Range("C4").value & "' " & _
>                "WHERE nama='" & Sheet1.Range("C3").value & "'"
> else
>     'tidak ada recordnya, maka akan tambah record baru (query INSERT INTO
> -> melalui object conn)
>     conn.execute "INSERT INTO nama_tabel VALUES ( '" & _
>                Sheet1.Range("C3").value & "','" & _
>                Sheet1.Range("C4").value & "')"
> endif
>
> rs.close
> conn.close
>
> set rs=nothing
> set conn=nothing
>
>
> 2. Aplikasi ini akan saya share sehingga bisa dibuka dari komputer mana
> saja dan bersamaan dalam 1 jaringan lokal, tetapi karena variable "Server"
> =  "localhost", maka akan eror pada saat dijalankan pada komputer lain
> karena xampp (database) hanya di komputer dengan ip 192.168.0.1. Saya sudah
> mencoba merubah settingan pada odbc connector dengan mengganti "TCP/IP
> server" nya dengan 192.168.0.1 tapi selalu koneksi gagal, harus localhost
> baru bisa. Bagaimana caranya agar bila dijalankan di komputer lain dalam 1
> jaringan ?
> >> Dalam hal kegiatan koneksi berbeda komputer dalam suatu jaringan
> (network), maka perlu diperhatikan tentang :
> 1. IPAddress server database jika koneksi melalui TCP/IP
> 2. Port milik server database
> 3. Ijin dari Operating System (Firewall dalam penggunaan Port)
> 4. bunyi kalimat ajakan berkoneksi (Connection String) -> untuk MySQL
> bisa dilihat disini bagian TCP/IP 
> Port<http://www.connectionstrings.com/mysql#mysql-connector-odbc-5-1>
> 5. komputer yang mengkoneksi memiliki (ter-install) library data privider
> (seperti MySQL melalui ODBC nya)
>
> Setelah koneksi terbentuk dan stabil, maka kegiatan transaksi data bisa
> dilakukan menggunakan query seperti di atas tadi.
>
> ***
> Oh iya, untuk komunikasi antara Excel dengan MySQL, hanya dibutuhkan :
> 1. Server database MySQL
> 2. library Data Provider seperti ODBC nya MySQL
> 3. MS ActiveX Data Object (ADO) jika ingin menggunakan ADO
>
> Wassalam,
> Kid.
>
>
>
>
>
> 2013/4/14 Rahmat Hermawan <ione_1...@yahoo.com>
>
> **
>
>  Selamat malam para master excel, saya ingin bertanya :
>
> Saya mempunyai file excel yang saya buat sebagai aplikasi input data
> (sheet 1) dan sheet 2 sebagai databasenya menggunakan VBA excel.
> (file terlampir).
> Saya ingin mengganti penyimpanan databasenya tidak dengan excel lagi,
> tetapi dengan database mysql.
> Saya sudah menginstal xampp dan odbc connector, saya sudah berhasil
> menghubungkannya juga dengan script :
>
> Dim conn As New ADODB.Connection
> Set conn = New ADODB.Connection
> conn.Open "DRIVER={MySQL ODBC 5.2w Driver}" & _
>   ";SERVER= localhost" & _
>   ";database= database_ho" & _
>   ";user= root" & _
>   ";password= ione123"
>
> Pertanyaannya :
>
> 1. Bagaimana sript vba untuk memasukkan ("C3").Value pada sheet1 ini,
> kedalam field "alamat" pada database mysql. Kalau dengan database excel
> sendiri kan script intinya Cuma : .Cells(baris, 2) = Sheet1.Range("C3").
> (dalam file yang saya lampirkan).
>
> 2. Aplikasi ini akan saya share sehingga bisa dibuka dari komputer mana
> saja dan bersamaan dalam 1 jaringan lokal, tetapi karena variable "Server"
> =  "localhost", maka akan eror pada saat dijalankan pada komputer lain
> karena xampp (database) hanya di komputer dengan ip 192.168.0.1. Saya sudah
> mencoba merubah settingan pada odbc connector dengan mengganti "TCP/IP
> server" nya dengan 192.168.0.1 tapi selalu koneksi gagal, harus localhost
> baru bisa. Bagaimana caranya agar bila dijalankan di komputer lain dalam 1
> jaringan ?
>
> Bagi master2 excel... Mohon pencerahannya....saya sudah googling kesana
> kemari tapi tidak ketemu... Sebelumnya terimakasih yang sebesar-besarnya....
>
>
>
>
>   
>

Kirim email ke