Darren - Active Billing
darren at activebilling.com.au
Tue Mar 23 08:54:31 CDT 2010
Hi John
Using a paradigm we all know and love
Link to the tables and build forms over these linked tables
Edits are directly entered into the SQL tables from the ACCESS Forms
You can build a wrapper for the stuff that handles the connections - but
I've included it all here in one function so you get the idea
OK Assume You have a table named "Ledger" in SQLSVR -
Assume I have form called frmLedgerItems in my Access dB that I want to be
the interface to this SQL table
Also - You get the relevant data for your combos the same way - It's very
quick and very easy
Now I don't claim to know a lot about this stuff so those who know can look
at this stuff and point out better ways to do it I'm sure
Got the Transferdatabase tip this from Stuart By the way
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Private Sub ps_GetLedgerItems()
On Error GoTo Err_
Dim stDocName As String
Dim strUserID As String
Dim strPassword As String
Dim strServer As String
Dim strServerIPAddress As String
Dim strdBName As String
Dim strODBCConn As String
stDocName = "frmLedgerItems"
strUserID = "UuserNameHere" ''Could be a DLOOKUP
strPassword = "passwordHere" ''Could be a Dlookup
strServer = DLookup("[DefaultServer]", "tblClients", "ClientID = " &
Forms!frmClients!txtClientID)
strServer = Trim(strServer)
strServerIPAddress = DLookup("[ServerIPAddress]", "tblServers", "ServerName
= '" & strServer & "'")
strdBName = DLookup("[DatabaseName]", "tblClients", "ClientID = " & Forms!
frmClients!txtClientID)
strODBCConn = "ODBC;Description=Test Connection;DRIVER=SQL Server;SERVER=" &
strServerIPAddress & ";APP=Microsoft Data Access Components;DATABASE=" &
strdBName & ";UID=" & strUserID & ";PWD=" & strPassword &
";Trusted_Connection=no"
'I connect to many SQL Server dBs so I need to always get the 'right one'
'So I delete the link to any previous table
DoCmd.DeleteObject acTable, "tbl_ledger"
DoCmd.TransferDatabase acLink, "ODBC Database", strODBCConn, acTable,
"ledger", "tbl_ledger", False
DoCmd.OpenForm stDocName
Exit_:
Exit Sub
Err_:
MsgBox Err.Number & " " & Err.Description, vbCritical, "error in
ps_GetLedgeritems"
End If
Resume Exit_
End Sub
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of jwcolby
Sent: Wednesday, 24 March 2010 12:12 AM
To: Access Developers discussion and problem solving
Subject: [AccessD] Binding forms and controls directly to SQL Server
Guys,
One thing I have always wanted to learn is how to bind Access objects
directly to SQL Server. Does
anyone out there do this and would you be willing to assist me in figuring
this out.
My billing database is in SQL Server. SQL Server 2008 is running directly
on my laptop and the
database files are on my laptop. I know some stuff about SQL Server but
there is a bunch that I
don't know. I tend to know the "data side" but not know the admin side. I
can create tables,
indexes, views and stored procedures. I have never created a stored
procedure that returned a
result set, only SPs that return an integer, and also (from C#) SPs that
have Output Parameters for
things like ErrorNo and ErrorDescr and NoOfRecsAffected. Stuff like that.
So, what do I do to:
1) Cause combos to pull their data from SQL Server. Do I create a view on
the server side? If so
how do I then cause Access to see the view and use that for the combo.
2) Pass parameters to the server side so that (for example) I could filter a
combo to only display
products for a specific client.
3) Cause forms to pull data from sql server such that the forms are able to
see and edit the data,
but bound to something (a view?) out in sql server so that SQL Server "does
the work" of narrowing
down the data displayed.
Let's take a reasonable simple example.
I have a "time sheet form". This form has a pair of controls which I can
use to set from / to dates
so that by default when opened the form displays this week's time entries.
However I can set dates
for any time period and display the time records that match that to / from
filter.
I have a Client Product combo that displays only products for currently
active Clients and currently
active products for those clients. Thus that combo pulls data from the
client and product table,
filtered on the active flag of both.
I have a work category combo that pulls data from a table which is
essentially the product / bill
rate, so once a client is selected, a filtered (by client) product is
selected, and then a filtered
(by product) work category is selected.
Pretty simple stuff to do directly in Access. But how do I do this such
that SQL Server does this
filtering and presents the filtered data to the combos?
I have never even looked at this stuff so I need very specific instructions
one time. I seem to
vaguely remember that I need to build views (or SPs?) out in SQL Server, and
then do a passthrough
query?
Can anyone help me figure this out? Once I do it one time I will be off to
the races.
Thanks guys!
--
John W. Colby
www.ColbyConsulting.com
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com