Pak Mulyawan..

 

Jika anda menggunakan link table - tentu saja bisa dibuat query parameter /
dinamis seperti layaknya dengan tabel local di accdb / mdb.

Tapi jika anda ingin menggunakan query berparameter di sql server, anda
harus membuat stored procedure dengan parameter, atau function dengan
parameter.

Sedangkan cara memanggilnya dari accdb / mdb adalah dengan memanfaatkan
query passthrough dan DAO atau bisa anda panggil dengan teknik ADO.


Bisa dicoba sbb:


Dari query analyzer / sql server management studio anda ketikkan sbb:

CREATE PROCEDURE SP_LAPORAN(@DEV_ID BIGINT,@RPT_DATE DATETIME)

AS

SELECT 

            dbo_QMeasMoni.Time, 

            dbo_QMeasMoni.U12, 

            dbo_QMeasMoni.U23, 

            dbo_QMeasMoni.U31

FROM dbo_QMeasMoni

WHERE dbo_QMeasMoni.DevID)=...@dev_id AND dbo_qmeasmoni.da...@rpt_date

 

Buat sebuah query di ACCDB / mdb anda. 

Klik menu sbb: Query - SQL Specific - Pilih Pass-through.

Klik menu sbb: view - properties atau tekan ALT + ENTER

Edit ODBC Connect str menjadi: ODBC;DRIVER={SQL
SERVER};SERVER=NAMA_SERVER_ANDA;DATABASE=NAMA_DATABASE;UID=NAMA_LOGIN_SQL;PW
D=PASSWORD

misalnyal:ODBC;DRIVER={SQL
SERVER};SERVER=PC_POEGOEH;DATABASE=DB_KEUANGAN;UID=AKMANAGER;PWD=PWD_MANAGER

 

tuliskan isi query tsb sbb:

SELECT TOP 1 * FROM  dbo.QMEASMONI

 

simpan query dengan nama misalnya : qryRPT_MEAS. 

 

Query Pass-though ini read only, tidak bisa di edit langsung dari form, 

dan tidak bisa dipasangi parameter.

 

jadi seandainya anda menulis-

SELECT dbo.QMeasMoni.Time, dbo.QMeasMoni.U12, dbo.QMeasMoni.U23,
dbo.QMeasMoni.U31

FROM dbo.QMeasMoni

WHERE (((dbo.QMeasMoni.DevID)=[Forms]![Report110]![cboDevID]) AND
((dbo.QMeasMoni.Date)=[Forms]![Report110]![cboDate])); 

 

pasti akan timbul error. 

Bayangkan anda menuliskan statement sql di atas langsung di Query Analyser /
SQL Server Management Studio.

 

Jadi kita lakukan dengan cara DAO.

tuliskan kode ini di form anda, misalnya di command button event on click
atau di form event on current.

 

dim strSQL as string

strSQL = "EXEC SP_LAPORAN " & Forms!Report110!cboDevID ",'" &
FORMAT(FORMS!report110!cboDate,"yyyy-mm-dd") & "'"

 

jika dilihat strSQL menjadi sbb: "EXEC SP_LAPORAN 1,'2010-10-10'

dengan angka 1 dan '2010-10-10' berubah2 sesuai nilai di form yang dipilih.

 

trus kita ubah string SQL di qryRPT_MEAS.

 

Currentdb.querydefs("qryRPT_MEAS").sql = strSQL

 

lengkapnya sbb:

 

dim strSQL as string

strSQL = "EXEC SP_LAPORAN " & Forms!Report110!cboDevID ",'" &
FORMAT(FORMS!report110!cboDate,"yyyy-mm-dd") & "'"

Currentdb.querydefs("qryRPT_MEAS").sql = strSQL

Me.requery

 

Jika dari awal anda mengeset recordsource form / report anda dengan:
qryRPT_MEAS, maka data anda akan berubah sesuai dengan perubahan
parameternya.

 

Mudah-mudahan bener ya.. soalnya belum di test.

 

 

Salam Hangat dan Jabat Erat

 

 

Murid Belajar Access

EdyWiyono

 

 

  _____  

From: [email protected] [mailto:[email protected]]
On Behalf Of Mulyawan, Ayi Teguh
Sent: Sunday, June 06, 2010 07:59
To: belajar-access
Subject: [belajar-access] Access Project 2007 & SQL Server 2005

 

  

Assalamu'alaikum,

 

Dear Rekan-rekan & para master access, mohon maaf kalau pertanyaan ini sudah
pernah ada yang posting. Saya baru belajar membuat aplikasi dengan
mic.access. yang ingin saya tanyakan mengenai link Access 2007 ke
SQLServer2005 :

Bagaimana supaya query pada SQL mengenali input pencarian dari form access?
Saya sudah coba seperti biasanya yang digunakan pada database local access
yaitu :

 

SELECT dbo_QMeasMoni.Time, dbo_QMeasMoni.U12, dbo_QMeasMoni.U23,
dbo_QMeasMoni.U31

FROM dbo_QMeasMoni

WHERE (((dbo_QMeasMoni.DevID)=[Forms]![Report110]![cboDevID]) AND
((dbo_QMeasMoni.Date)=[Forms]![Report110]![cboDate])); 

 

SQL script diatas bekerja kalau database SQLnya saya import dulu ke local
access dan data yang ditampilkan sudah sesuai dengan input dari ComboBox
DevID & Date. Saya ingin semua query ada di SQLServer jadi di access hanya
berperan sebagai front end saja.

 

Terimakasih sebelumnya

 

Wassalam,

-ATM-



No virus found in this incoming message.
Checked by AVG - www.avg.com
Version: 9.0.829 / Virus Database: 271.1.1/2919 - Release Date: 06/05/10
13:25:00



Kirim email ke