Hi.. All

Terima kasih banyak untuk Mbak Siti Vi, sebetulnya itu yang saya maksud,
tapi saya coba googling
dan saya menemukan system ODBC. Tapi sampai saat ini saya coba praktekan
selalu error .
ex. saya pake odbc[dataas400] Uid[anu] pass[anu] server as400.

<goog_1225930566688>
http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_23012565.html

Sub Database_connect()

Dim dbEng As dbengine
Dim oRs As Recordset
Dim oRow As Range
Dim oWspc As Workspace
Dim oConn As Connection
Dim oQuery As QueryDef

strConnection = "ODBC;DATABASE=databasename;UID=userid;PWD=password;DSN=DSNname"
strSQL = "SELECT * FROM accounts where term like " & """VS%"""
Debug.Print strSQL
Set dbEng = CreateObject("DAO.DBEngine.35")
Set oWspc = dbEng.CreateWorkspace("ODBCWspc", "", "", dbUseODBC)
Set oConn = oWspc.OpenConnection("DSNname", , True, strConnection)
Set oQuery = oConn.CreateQueryDef("tmpFindAccount")

oQuery.Sql = strSQL
Set oRs = oQuery.OpenRecordset
If oRs.EOF = True Then
    MsgBox "No More Records"
Else
    Worksheets("Sheet2").ComboBox1.AddItem oRs.Fields("fieldname")
End If

oRs.Close
oQuery.Close
oConn.Close
oWspc.Close
Set oRs = Nothing
Set dbEng = Nothing

End Sub

Mohon Pencerahannya...Terima kasih sebelumnya. "Maaf Kalau pertanyaannya
agak kurang berbobot- maklum newbee"

Mr.VcWAlet

Open in New 
Window<http://www.experts-exchange.com/codeSnippetPopup.jsp?csid=10286>
Select
All <javascript:selectElementById('codeSnippet10286');>
2008/11/6 siti Vi <[EMAIL PROTECTED]>

>   maaf baru bisa kembali hari ini, dan maaf akan bicara agak kepanjangan
>
> begini lho yaa ....,
> (kita coba "dudukkan" masalah-per-masalah ke "tempatnya" masing-masing,
> agar kita tidak confused....):
>
> *< 1 >*. Mengenai koneksi ke server (setting di odbc) dan query / urusan
> yg menghasilkan tertulisnya sourcedata di sheet, biarlah tetap seperti yg
> telah ada / diselengarakan oleh pak / mbak vcwalet harris; juga mengenai
> refreshing data nya secara berkala (atau otomatis setiap saat / on line?)
> Pokoknya data dari database di server itu kita anggap sudah berada di suatu
> sheet di wokbuk ini (kita anggap di sheet 'hasil impor' )
>
> Jadi tahap berikutnya (2), si makroh atau apapun namanya, hanya akan
> memproses berdasarkan data di SHEET, TIDAK lagi ada istilah makro mengambil
> data dari server; atau combobox mengambil kriteria dari database di server;
> karena urusan "hadirnya data ex database server ke sheet di wokbook ini"
> sudah berupa tahap / paket tindakan tersendiri, yg selama ini sudah jalan /
> dikerjkan oleh pak pcwalet dgn hasil baik..
> Mudah-mudahan pak pcwalet harris sependapat dengan siti.
>
> *< 2 >* Urusan selanjutnya adalah bgmana tabel data ex imporan tsb
> (selanjutnya kita sebut "sourcedata") diolah sehingga menjadi REPORT seperti
> tercontohkan di sheet 'form'. Di tahap ini terkandung 2 SubUrusan:
>
> *2A:   subUrusan ComboBox dan List di dalamnya*
> Di sheet 'form' ada sebuah combobox ber-nama-generik: ComboBox1.
> Si Combo mauknya selalu berisi SourceData khusus kolom 1 (Field SKEY)
> tetapi tanpa memuat data kembarannya ( =ini kita sebut: List of Unique
> Values)
>
> Jadi zelas-nya di sini ada kerjaan menyaring sourcedata kolom 1 sehingga
> hanya terambil Unique-Values-nya saja. Ini perkara gampang, terutama bila
> kita sudah punya / menulis FUNGSI untuk mengotomatiskan pengambilannya
> (lihat >> Prosedur Function UniqValues;  di module 'FIltering' )
>
> Prosedur Fungsi (UDF) ini akan menghasilkan daftar unique-values tetapi
> hanya diingat dalam memory sebagai variable: array 1 dimensi.
> Truz.. berapa bijik elements-nya ?  tergantung keadaan tabel sourcedata
> saat wokbook dibuka. Elemen-elemen dlm Array itulah yg akan dituangkan ke
> List milik si Combo.
> Dengan adanya FUNGSI buatan dewek tsb maka menciptakan list of unique
> values berdasarkan Kolom1 pada source data DAN  langsung menuangkan ke List
> dlm ComboBox, perintahnya sungguh singkat:
> ComboBox1.List = UniqValues(KolomSatuSourceData)
> maka seketika isi perut si Combo berisi beberapa elements data yg kita
> istilahkan List of Unique Values tadi.
> Untuk keadaan data seperti contoh, hasilnya adalah :
> "SSHIN", "SKY TAPE", "GUDANG", "DSU IND"
>
> Jika diadakan refreshing sourcedata, sebaiknya pengguna mengklik sheet lain
> selain FORM lalu kembali ke sheet FORM lagi; karena setiap sheet form
> diaktifkan sudah dicegat dengan prosedur pengisian kembali List ke ComboBox.
> Prosedur Sub untuk mengisi / mengisi kembali List pada ComboBox bisa
> dilihat di module Filtering; prosedurnya bernama "FillComboList".
>
> Spt telah siti sebutkan di atas, prosedur ini KITA SURUH otomatis jalan
> jika ada events:
> 1 = wokbook dibuka
> 2 = sheet form diaktifkan.
> (Lihat di module Sheer 'form' dan module ThisWorkbook)
> Jika List dlm ComboBox telah ada isinya, List tsb dapat kita tampakkan
> SalahSatu-nya dengan mengklik DropDownButton lalu memilih nya.
>
> Setiap VALUE milik ComboBox diubah, dikehendaki Report tersusun lagi,
> berdasarkan VALUE (teks yg sedang nampak di wajah si Combo).
> Kehendak ini akan diurusi (kalau bisa: dipenuhi) oleh "prosedur" lain lagi.
>
> *2B:  subUrusan Penyusunan Report *
> Sekarang kita obrolkan "urusan penulisan data" di areaReport pada sheet
> form.
> Kita buat fixed saja: yg dimaksud areaReport adalah range yg
> PojokKiriAtasnya = cell A8 pada sheet 'form', selebar 8 kolom; Jumlah row =
> dinamis mengikuti hasil penyaringan; dan ini tentu tergantung pula kpd
> keadaan di source data.
>
> Jika ComboBox diUBAH isi nya (dengan dropdown button yg ada) maka
> makro akan mengerjakan :
> (1).  menganggap isi ComboBox = Kriteria penyaringan
> (2).  menyaring Records di sourcedata;  jika KOLOM-1 pada records tsb
> berisi data yang SAMA dengan KRITERIA, maka records tsb DIAMBIL dan ditulis
> di area report; tetapi hanya 7 Kolom yaitu kolom-kolom:  7, 12, 14, 16, 17,
> 18, 19 saja;  Sedangkan kolom ke 8 = adalah hasil kali dua kolom
> sebelumnya).
> (3). Kedua tahap pekerjaan itu dilakukan setelah lebih dahulu menghapus
> areaReport.
>
> Prosedur untuk melaksanakan penyaringan sekaligus penulisan ke areaReport
> ini, tertulis sbg prosedur Sub bernama  "FileringForReport"
> Seperti lazimnya standar program pemfilteran data, di sini kita
> implementasikan dengan Looping yg men-scan baris-demi-baris di source data.
> Jika kolom 1 pada sourcedata (pada baris yg sedang di-scan) =cocok dengan
> Kriteria, beberapa cell-kolom pada baris itu diSALIN dan dituliskan ke
> AreaReport.
>
> Prosedur ini akan jalan bila memang DISURUH JALAN (dengan menyebut Namanya)
> dan diberi argument, sedangkan Argumentnya berupa data KRITERIA yaitu teks
> yg sedang menampakkan diri di wajah ComboBox1.
>
> Makanya, si combobox setiap dia berubah isinya, perintah yg ada didalamnya
> adalah:
> memanggil prosedur FilteringForReport; sambil TIDAK PERNAH LUPA mengirim
> Argument berupa teks yg sedang muncul pada dirinya
>    Call FilteringForReport(ComboBox1.Value)
> Lihat procedures di module sheet form.
> ===============================
>
> Yah.. hanya begitulah jalan ceritaknya, sederhana saja.
> Sederhana, karena sebetulnya tanpa makro pun perkerjaan spt ini dapat
> dilakukan dengan FORMULA-FORMULA maupun oleh AutoFilter, atau
> AdvancedFilter.
>
> Semua itu masih tergantung sourcedata nya
> Jika sourcedata = bagus, strukturnya konsisten dan datanya baik (misal
> tidak tercampur dengan ekor berupa spasi yg tidak kelihatan mata), maka
> insyaallah makro mampu menjalankan tugas sesuai keinginan.
>
> Tentu saja, masih ada kemungkinan yg belum dapat diduga pada saat code
> ditulis; karena contoh data kadang belum mewakili faktual data sepenuhnya.
> Kemungkinan tsb ada yg bisa menimbulkan error-message. Dan bila terjadi,
> mohon jangan ragu mengirim kabar ke milis ini; temans-temans di sini akan
> mencoba membantu mengatasinya, asal disertai penjelasan yg memadai,
> insyaallah..
>
> jurangmangu, 4 nov 2008
> siti
>
>
>
>
> 2008/11/4 vcwalet haris <[EMAIL PROTECTED]>
>
>> Terima kasih Bu Siti Vi
>> mungkin seperti ini [attc]
>> Sebelumnya
>>
>> 2008/11/1 siti Vi <[EMAIL PROTECTED]>
>>
>> maaf pak haris,
>>> jika ini sebuah pertanyaan;
>>> data yg hanya berupa gambar itu belum dapat dijadikan bahan
>>> oleh para calon penolong untuk bertindak (membuat saran-saran'
>>> atau membuatkan contoh makro nya)
>>> karena IMHO, memanggil data dari server (atau dari source lain)
>>> bukan kah harus mengetahui struktur datanya, nama field, jenis data tiap
>>> field dsb...
>>>
>>> barangkali, jika pak haris dapat memberikan contoh data yg sudah diimpor
>>> ke sheet excel, lalu menjelaskan hasil seperti apa yg dikehendaki,
>>> mungkin para penolong tidak sulit seperti ketika hanya *punya 'gambar
>>> sheet
>>> kosong dan gambar combobox" *seperti sekarang ini..*
>>>
>>> *terima kasih...
>>>
>>
>  
>

Kirim email ke