Jumat, 27 Mei 2011

[belajar-access] Re: wta : koneksi ke sql server Store Procedure mempergunakan DAO di report access 2010

 

Dear Mas Erwin, yg ini sudah solve belum ya? Kami menggunakan MDB yg dilink ke SQL Server, juga sama dengan Mas Erwin, menggunakan ODBC. Tapi sampai saat ini belum pernah menggunakan report dengan record source langsung dari stored procedure, baik yg berparameter maupun tidak.

Kami menggunakan Pass-through Query, yg digunakan untuk menjalankan query dengan sumber data dari ODBC database, seperti SQL-Server dalam hal ini. Dengan pass-through query, kita dapat langsung terkoneksi dengan sumber data tanpa harus membuat dahulu link-table nya. Pass-through query dapat juga digunakan untuk menjalankan stored procedures didalam SQL Server.

Hanya saja di email ini Mas Erwin ingin langsung menggunakan stored procedure sebagai record source? Mengapa tidak menggunakan Pass-through Query? Bukankah dengan Pass-through Query bisa diset parameternya?

Kami sudah menggunakannya sejak tahun 2001, dan hingga kini tidak masalah. Sebagai sample di file accdb bisa menggunakan procedure ini untuk membuat Pass-through Query yang bisa berubah-ubah criterianya sesuai dengan criteria yg kita set di form nya.

Function Membuat_PassThroughQuery(NamaQuery As String, strSQL As String)
Dim cat As ADOX.Catalog
Dim cmd As ADODB.Command
Set cat = New ADOX.Catalog
Set cmd = New ADODB.Command
cat.ActiveConnection = CurrentProject.Connection
Set cmd.ActiveConnection = cat.ActiveConnection
cmd.CommandText = strSQL
cmd.Properties("Jet OLEDB:ODBC Pass-Through Statement") = True
cmd.Properties _
("Jet OLEDB:Pass Through Query Connect String") = _
"ODBC;DSN=Nama_DSN_di_ODBCnya;database=NamaDatabaseDiSQL-Servernya;UID=sa;PWD=Passwordnya;"
cat.Procedures.Append NamaQuery, cmd
Set cat = Nothing
Set cmd = Nothing
End Function

Tinggal dijalankan di immediate window (misal):

?Membuat_PassThroughQuery("TestPassThroughQuery", "Select * from Authors") -> ini hanya sample, bisa diganti dengan kode SQL yg sesuai di databasenya.

Nanti di daftar query sudah langsung terbentuk Pass-through Query dengan nama "TestPassThroughQuery". Dengan demikian, kita tinggal bermain di kode SQL nya saja, bisa kita tambahkan kriteria yang banyak, dengan klausa WHERE.

Kemudian report menggunakan record source langsung ke Pass-through Query dengan nama "TestPassThroughQuery" tsb.

Ngomong-ngomong, Mas Erwin sudah daftar kopdar belum? Bila belum, silahkan daftar segera, kami tunggu kehadirannya. :)

Wassalaamu'alaikum Warahmatullahi Wabarakatuh,
Sofyan Efendi.
http://opi.110mb.com/

--- In belajar-access@yahoogroups.com, Erwin Sugiawan <esugiawan@...> wrote:
>
> rekan2
>
> mohon bantuan nya:
> pertama2 saya mempergunakan sql2008 R2 sebagai database dan ms.access 2010
> sebagai front end.
>
> dahulu kala saya masih mempergunakan access xp dan sql 2000 versi glodok,
> mempergunakan extensen ADP, tidak pernah masalah.
> Karena ingin menjadi warga negara yang baik, kantor kami membeli sql2008 r2 dan
> office 2010 versi microsoft yang asli. nah skrn masalah di mulai.
>
> - bagaimana cara membuat access 2010 packet instaler yang mempergunakan extensen
> ADP? saya cari2 di om google tidak ketemu
> - hasil pencarian di google, di katakan access 2010 tidak mensupport lagi ADP,
> walaupun masih bisa di pergunakan tp fungsi terbatas ( mungkin ini salah satu
> nya yang menyebabkan access 2010 tidak bisa membuat packet installer untuk ADP
> ( IMHO )
> - cari2 solusi lagi , ketemu dgn ODBC + dbSQLPassThrough , masalah ke dua
> muncul, yaitu bagaimana cara mengisi record source pada report ms.access 2010
> yang mempergunakan store procedure ?
>
> mohon solusi , thx
>
> note: apakah ada contoh security yang ok dgn mempergunakan ODBC ? krn kalo
> salah lihat, mempergunakan ODBC, link nya muncul dimana2, di table ada , di
> query ada.. bayangan saya sih, ODBC di buat saat login di mulai dan hapus saat
> keluar dari applikasi
>
> Best regard
> Erwin Sugiawan
>

__._,_.___
Recent Activity:
SPAM IS PROHIBITED
.

__,_._,___

Tidak ada komentar:

Posting Komentar