Hi Simon,
******Bindingcollection that works********
Private Sub Form_Load()
'Set objSource as object to represent class module.
'This goes and opens all recordsets in class module and
'sets up cross reference that allows this procedure to
'reference any recordset in datasource class module and
'create binding objects with reference to datasource class
'module.
Set objSource = New clsDataSource
Set objBindF1Screen = New BindingCollection
objBindF1Screen.DataMember = "SELECT * FROM BASSPERS
WHERE EMPNO=strEmployee_Number"
Set objBindF1Screen.DataSource = objSource
objBindF1Screen.Add txtFNAME, "text", "FNAME"
objBindF1Screen.Add txtLNAME, "text", "LNAME"
objBindF1Screen.Add txtMIDDLE, "text", "MIDDLE"
objBindF1Screen.Add txtEMPNO, "text", "EMPNO"
'etc.
******Bindingcollection that DOES NOT work******
Private Sub Form_Load()
'Set objSource as object to represent class module.
'This goes and opens all recordsets in class module and
'sets up cross reference that allows this procedure to
'reference any recordset in datasource class module and
'createbinding objects with reference to datasource class
'module.
Set objSource = New clsDataSource
Set objBindF4Screen = New BindingCollection
objBindF4Screen.DataMember = "SELECT FNAME,MIDDLE,LNAME,BASSPERS1.EMPNO,GROSS_MTD,GROSS_QTD,GROSS_YTD,SALRED_MTD," _ & "SALRED_QTD,SALRED_YTD,SREDPD_MTD,SREDPD_QTD,SREDPD_YTD,CAFE_MTD,CAFE_QTD,CAFE_YTD," _ & "NEGCHK_MTD,NEGCHK_QTD,NEGCHK_YTD,NEGRED_MTD,NEGRED_QTD,NEGRED_YTD,RTIPS_MTD,RTIPS_QTD," _ & "RTIPS_YTD,OCOMP_MTD,OCOMP_QTD,OCOMP_YTD,MISTTL_MTD,MISTTL_QTD,MISTTL_YTD," _ & "ADVEIC_MTD,ADVEIC_QTD,ADVEIC_YTD,FICA_MTD,FICA_QTD,FICA_YTD,HI_MTD,HI_QTD,HI_YTD," _ & "FIT_MTD,FIT_QTD,FIT_YTD,SIT_MTD,SIT_QTD,SIT_YTD,COUNTY_MTD,COUNTY_QTD,COUNTY_YTD," _ & "MUNI_MTD,MUNI_QTD,MUNI_YTD,UNEM_MTD,UNEM_QTD,UNEM_YTD,SDI_MTD,SDI_QTD, SDI_YTD," _ & "MISC_MTD,MISC_QTD,MISC_YTD,NET_MTD,NET_QTD,NET_YTD" _
& "FROM BASSPERS1 INNER JOIN BASSTAX" _
& "ON BASSPERS1.EMPNO = BASSTAX.EMPNO" _
& "WHERE BASSPERS1.EMPNO = strEmployee_Number"
Set objBindF4Screen.DataSource = objSource
objBindF4Screen.Add txtGROSS_MTD, "text", "GROSS_MTD"
objBindF4Screen.Add txtGROSS_QTD, "text", "GROSS_QTD"
objBindF4Screen.Add txtGROSS_YTD, "text", "GROSS_YTD"
'etc.
************Class module GetDataMember*************
Public Sub Class_GetDataMember(DataMember As String, Data As Object)
Select Case DataMember
Case "SELECT EMPNO,DEPT,WRATE,MTD_AMT,QTD_AMT,YTD_AMT," _
& " WAGENAME,BASSEARN.WAGENO" _
& " FROM BASSEARN INNER JOIN" _
& " BASSWAGE ON BASSEARN.WAGENO = BASSWAGE.WAGENO" _
& " WHERE EMPNO = strEmployee_Number"
Set Data = adoRsF3Screen
Case "SELECT * FROM BASSPERS WHERE
EMPNO=strEmployee_Number"
Set Data = adoRsF1Screen
Case "SELECTWAGENAME,WAGENO,NEGWAGE,OTHCOMP,RESETRATE,"_
& "VACATION,TIPPEDWAGE,SAL_HOUR,REPTTIPS,CAFEPLAN " _
& "FROM BASSWAGE"
Set Data = adoRsF3ScreenFindWage
Case "SELECT * FROM BASSEARN WHERE EMPNO=1066"
Set Data = adoRsF3ScreenAddWage
Case "SELECT DEDNAME,BASSDEDS.DEDNO,DEPT,TYPE,AMOUNT," _
& " MTD_AMT,QTD_AMT,YTD_AMT" _
& " FROM BASSDEDS INNER JOIN" _
& " BASSDDED ON BASSDEDS.DEDNO = BASSDDED.DEDNO" _
& " WHERE EMPNO = strEmployee_Number"
Set Data = adoRsF2Screen
Case Case "SELECT FNAME,MIDDLE,LNAME,BASSPERS1.EMPNO,GROSS_MTD,GROSS_QTD,GROSS_YTD,SALRED_MTD," _ & "SALRED_QTD,SALRED_YTD,SREDPD_MTD,SREDPD_QTD,SREDPD_YTD,CAFE_MTD,CAFE_QTD,CAFE_YTD," _ & "NEGCHK_MTD,NEGCHK_QTD,NEGCHK_YTD,NEGRED_MTD,NEGRED_QTD,NEGRED_YTD,RTIPS_MTD,RTIPS_QTD," _ & "RTIPS_YTD,OCOMP_MTD,OCOMP_QTD,OCOMP_YTD,MISTTL_MTD,MISTTL_QTD,MISTTL_YTD," _ & "ADVEIC_MTD,ADVEIC_QTD,ADVEIC_YTD,FICA_MTD,FICA_QTD,FICA_YTD,HI_MTD,HI_QTD,HI_YTD," _ & "FIT_MTD,FIT_QTD,FIT_YTD,SIT_MTD,SIT_QTD,SIT_YTD,COUNTY_MTD,COUNTY_QTD,COUNTY_YTD," _ & "MUNI_MTD,MUNI_QTD,MUNI_YTD,UNEM_MTD,UNEM_QTD,UNEM_YTD,SDI_MTD,SDI_QTD, SDI_YTD," _ & "MISC_MTD,MISC_QTD,MISC_YTD,NET_MTD,NET_QTD,NET_YTD" _
& "FROM BASSPERS1 INNER JOIN BASSTAX" _
& "ON BASSPERS1.EMPNO = BASSTAX.EMPNO" _
& "WHERE BASSPERS1.EMPNO = strEmployee_Number"
Set Data = adoRsF4Screen
End Select
End Sub
******Class module initialize************
Private Sub Class_Initialize()
Dim MyProperty As Property
Dim see As Boolean
Dim strSQLF1 As String
Dim strSQLF2 As String
Dim strSQLF3 As String
Dim strSQLF4 As String
'Instantiate here. Declared in General Declarations this module.
Set cmd = New ADODB.Command
Set adoRsF1Screen = New ADODB.Recordset
Set adoRsF2Screen = New ADODB.Recordset
Set adoRsF2ScreenFindDed = New ADODB.Recordset
Set adoRsF3Screen = New ADODB.Recordset
Set adoRsF3ScreenAddWage = New ADODB.Recordset
Set adoRsF3ScreenFindWage = New ADODB.Recordset
Set adoRsF4Screen = New ADODB.Recordset
Set adoConnection = New ADODB.Connection
Set adoConnection2 = New ADODB.Connection
'Load string variable and use string in open method of adoConnection.
strConnect = "Provider=Microsoft.jet.OLEDB.4.0;" _
& "Data Source=" & App.Path & "\BEMPLOYE.MDB"
adoConnection.Open (strConnect)
adoConnection2.Open (strConnect)
'Strings to hold EXECUTE statements for stored SQL procedures to be used
'in Recordset open statements.
strSQLF1 = "EXECUTE DisplayF1 " & (strEmployee_Number)
strSQLF2 = "EXECUTE DisplayF2 " & (strEmployee_Number)
strSQLF3 = "EXECUTE DisplayF3 " & (strEmployee_Number)
strSQLF4 = "EXECUTE DisplayF4 " & (strEmployee_Number)
'Open recordset
'This recordset used to load text boxes onto F1Screen with employee information.
'Used in Form Load event of F1Screen.
adoRsF1Screen.CursorType = adOpenStatic
adoRsF1Screen.LockType = adLockOptimistic
adoRsF1Screen.Open Source:=strSQLF1, ActiveConnection:=adoConnection, _
Options:=adCmdText
'Open recordset
'This recordset used to load text boxes onto F2Screen with employee information.
'Used in Form Load event of F2Screen.
adoRsF2Screen.CursorLocation = adUseClient
adoRsF2Screen.CursorType = adOpenStatic
adoRsF2Screen.LockType = adLockOptimistic
adoRsF2Screen.Open Source:=strSQLF2, ActiveConnection:=adoConnection, _
Options:=adCmdText
'adoConnection.CursorLocation = adUseClient
'adoRsF2Screen.CursorType = adOpenStatic
'adoRsF2Screen.LockType = adLockOptimistic
'cmd.ActiveConnection = adoConnection
'cmd.CommandText = strSQLF2
'cmd.CommandType = adCmdText
'adoRsF2Screen.CursorLocation = adUseClient
'Set adoRsF2Screen = cmd.Execute
'Open recordset.
'This recordset used in SelectWage procedure to search BASSDDED table, with Find Method,
'for the wage description(DEDNAME) beginning with a letter that the user keys.
adoRsF2ScreenFindDed.CursorType = adOpenStatic
adoRsF2ScreenFindDed.LockType = adLockOptimistic
adoRsF2ScreenFindDed.Open Source:="SELECT * FROM BASSDDED", _
ActiveConnection:=adoConnection, _
Options:=adCmdText
'Open recordset.
'Used to load text into text boxes on F3Screen in form load event.
adoRsF3Screen.CursorLocation = adUseClient
adoRsF3Screen.CursorType = adOpenStatic
adoRsF3Screen.LockType = adLockOptimistic
adoRsF3Screen.Open Source:=strSQLF3, ActiveConnection:=adoConnection, _
Options:=adCmdText
'Open recordset.
'This recordset used in SelectWage procedure to search BASSWAGE table, with Find Method,
'for the wage description(WAGENAME) beginning with a letter that the user keys.
adoRsF3ScreenFindWage.CursorType = adOpenStatic
adoRsF3ScreenFindWage.LockType = adLockOptimistic
adoRsF3ScreenFindWage.Open Source:="SELECT WAGENAME,WAGENO,NEGWAGE,OTHCOMP,RESETRATE," _
& "VACATION,TIPPEDWAGE,SAL_HOUR,REPTTIPS,CAFEPLAN " _
& "FROM BASSWAGE", ActiveConnection:=adoConnection, _
Options:=adCmdText
'Open recordset.
'Use this recordset to add new wage to BASSWAGE table.
adoRsF3ScreenAddWage.CursorType = adOpenStatic
adoRsF3ScreenAddWage.LockType = adLockOptimistic
adoRsF3ScreenAddWage.Open Source:="SELECT * FROM BASSWAGE", _
ActiveConnection:=adoConnection, _
Options:=adCmdText
'Open recordset.
'Use this recordset to add new wage to BASSWAGE table.
adoRsF4Screen.CursorType = adOpenStatic
adoRsF4Screen.LockType = adLockOptimistic
adoRsF4Screen.Open Source:=strSQLF4, _
ActiveConnection:=adoConnection, _
Options:=adCmdText
End Sub
The End
Thanks TNN, Tom
TNPAYROLL@AOL.COM
TOM