Hi Jeff,
Tahankyou, for the help. i need information on how to use where clause
with variables in the query
SQL = "SELECT * FROM [Variance Calculation$]"
Please help me.
Thanks & Regards,
Atul D. Pohankar
"Jeff" wrote:
> Hi Atul, First things first have you created a reference to the Active x
> Library 2.7 via Tools --> References--> Microsoft Active X Library 2.7?. If
> Not do so. Second your connection string looks a little gnarly to me. Try
> somthing like this to see if you get the results you need.
>
> Public Sub WorksheetQuery()
>
> Dim Recordset As ADODB.Recordset
> Dim ConnectionString As String
>
> ConnectionString = _
> "Provider=Microsoft.Jet.OLEDB.4.0;" & _
> "Data Source=" & ThisWorkbook.Path & "\Variance Calculation.xls;" & _
> "Extended Properties=Excel 8.0;"
>
> Dim SQL As String
>
> ' Query based on the worksheet name.
> SQL = "SELECT * FROM [Variance Calculation$]"
>
> Set Recordset = New ADODB.Recordset
>
> On Error GoTo Morgue
>
> Call Recordset.Open(SQL, ConnectionString, _
> CursorTypeEnum.adOpenForwardOnly, LockTypeEnum.adLockReadOnly, _
> CommandTypeEnum.adCmdText)
>
> If Not Recordset.EOF Then Call MsgBox("Success!", vbInformation,
> ThisWorkbook.Name)
>
> 'your Code here
>
> Morgue:
> If (Err.Number <> 0) Then
> Debug.Print Err.Description
> End If
>
> If (Recordset.State = ObjectStateEnum.adStateOpen) Then
> Recordset.Close
> End If
>
> Set Recordset = Nothing
>
> End Sub
>
>
>
>
> "Atul D. Pohankar" wrote:
>
> > Hi
> >
> > I need help to create a macro in excel 2003. The macro should fetch data
> > from excel sheet using a query, as the data in sheet is more than 35000 lines
> > using for loop of while loop takes more time to search data.
> > I am using following code for fetching data but no success (Please help
> > me to run it)
> >
> > Code:-
> > Sub Testquery2()
> > Dim strQuery As String
> > Dim cn As ADODB.Connection
> > Dim rsT As ADODB.Recordset
> >
> > Set cn = New ADODB.Connection
> > With cn
> > .Provider = "Microsoft.Jet.OLEDB.4.0;Data"
> > .ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};" &
> > "DBQ=" & Application.Path & "\Variance Calculation.xls;"
> > .Open
> > End With
> >
> > strQuery = "SELECT * FROM [DB_OL & Act input $]"
> >
> > Set rsT = New ADODB.Recordset
> > rsT.CursorLocation = adUseClient
> > rsT.Open strQuery, cn
> > adOpenStatic , adLockOptimistic, adCmdText
> >
> > If (rsT.RecordCount <> 0) Then
> > MsgBox "Query Success"
> > End If
> >
> > rsT.Close
> > cn.Close
> > End Sub
> >
> > Please help me to get the way.
> >
> > Thanks & Regards,
> > Atul D. Pohankar
|