selectCmd = "Select * from policy where policy = ?lnpolicy
However using a form property "thisform.lnpolicy" brings up a prompt box in which the user has to add the policy number. selectCmd = "Select * from policy where policy = ?thisform.lnpolicy
Why the difference? Both the property and variable are in scope and were assigned before the cursorfill()>* .ConnectionString = 'provider=SQLOLEDB.1;data source=localhost;' + ; >* 'initial catalog=Northwind;trusted_connection=yes' >CLEAR >LOCAL loConn AS ADODB.CONNECTION, ; > loCommand AS ADODB.COMMAND, ; > loParam AS ADODB.PARAMETER, ; > loRs AS ADODB.Recordset,; > loException AS EXCEPTION, ; > loCursor AS CURSORADAPTER, ; > lcCountry, ; > laErrors[1] >loConn = CREATEOBJECT('ADODB.Connection') >WITH loConn > .ConnectionString = 'provider=vfpoledb;data source=' + ; > HOME(2)+'northwind\Northwind.dbc' > TRY > .OPEN() > CATCH TO loException > MESSAGEBOX(loException.MESSAGE) > CANCEL > ENDTRY >ENDWITH >loCommand = CREATEOBJECT('ADODB.Command') >loCommand.CommandText = ; > "SELECT * FROM customers WHERE Country = ?" >loParam = loCommand.CreateParameter("Country", 129, 1, 15, "") >loCommand.PARAMETERS.APPEND(loParam) >loCommand.PARAMETERS("Country") = "Brazil" >loCommand.ActiveConnection = loConn >loRs = loCommand.Execute() >loCursor = CREATEOBJECT('CursorAdapter') >WITH loCursor > .ALIAS = 'Customers' > .DATASOURCETYPE = 'ADO' > llReturn = .CURSORFILL(.F., .F., 0, loRs) > IF llReturn > BROWSE > ELSE > AERROR(laErrors) > MESSAGEBOX(laErrors[2]) > ENDIF llReturn >ENDWITH >