|
|
Question : Using MS DataGrid in Microsoft Access 2002/2003
|
|
I am tyring to use the Microsoft DataGrid Control on a MS Access 2002 or 2003 Database.
I have included the reference: Microsoft DataGrid Control 6.0 (SP5) (OLEDB)
In My form I placed a MS DataGrid named: dgClaimsManagement its Data properties are as follows: OLE CLASS: DataGrid CLASS: MSDataGridLib.DataGrid.1
' Module Level Variables:
' Declare Global Variables Dim strAppPath As String Dim strConnection As String Dim strCMSQLStatement As String ' Create RMSTrac Connection Object. Dim cnRMSTrac As ADODB.Connection ' Create Claims Management Connection and Recordset objects. Dim rstClaimsManagement As ADODB.Recordset
' Form Load Method. Private Sub Form_Load()
' Initialize global work variables strDBPath = Application.CurrentProject.Path strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "\USIRiskManagementServices.mdb;Persist Security Info=False"
' Instantiation of New RMSTrac Connection Object. Set cnRMSTrac = New ADODB.Connection With cnRMSTrac .ConnectionTimeout = 15 .CommandTimeout = 30 .CursorLocation = adUseClient .ConnectionString = strConnection .Open End With ' Instantiation of New Claims Management Recordset. Set rstClaimsManagement = New ADODB.Recordset ' SQL Statement for Claims Management Service Providers. strCMSQLStatement = "SELECT tblEmployeeMaster.Name, " & _ "Sum(tblServiceSummaryMaster.TravelTime) AS SumOfTravelTime, " & _ "Sum(tblServiceSummaryMaster.ConsultTime) AS SumOfConsultTime, " & _ "Sum(tblServiceSummaryMaster.ReportTime) AS SumOfReportTime, " & _ "Sum(tblServiceSummaryMaster.AdminTime) AS SumOfAdminTime, " & _ "Sum([TravelTime]+[ConsultTime]+[ReportTime]+[AdminTime]) AS TotalTime " & _ "FROM tblEmployeeMaster " & _ "LEFT JOIN tblServiceSummaryMaster " & _ "ON tblEmployeeMaster.tblEmployeeInternalReference = tblServiceSummaryMaster.lkupEmployeeID " & _ "WHERE (((tblServiceSummaryMaster.ServiceType)=0) AND ((tblServiceSummaryMaster.ServiceDate) Between Date() And (Date()-90))) " & _ "GROUP BY tblEmployeeMaster.Name " & _ "ORDER BY tblEmployeeMaster.Name;" ' Initialze and Fill the Claims Management Recordset rstClaimsManagement.Open strCMSQLStatement, cnRMSTrac MsgBox rstClaimsManagement.RecordCount, vbInformation, "Claims Management" ' Populate the Claims Management Service Provider Data in the Claims Management DataGrid Set dgClaimsManagement.DataSource = rstClaimsManagement dgClaimsManagement.Requery
End Sub
Currently the DataGrid is not populating with data, The rstClaimsManagement.RecordCount shows 1 record.
Please help!! 500 points will be awarded for a complete and functioning answer.
Kindest Regards,
WenyonK
|
Answer : Using MS DataGrid in Microsoft Access 2002/2003
|
|
Not trying to sound critical, but why are you using a grid control? You could build a form with the fields on it. Set it to display in datasheet view and make it a sub form. You can still use your ADO recordset to set the data source of the subform
Set Me.sfmSubFormName.Form.Recordset = rstClaimsManagement
No need to requery after assigned the recordset
I haven't heard of someone using the datagrid in Access. We have that intrinsic functionaltiy in the forms themselves.
Thanks, Mike
|
|
|
|
|