Theodoric Posted March 1, 2006 Share Posted March 1, 2006 Hi, has anyone had this problem before? We want to do some testing on a Microsoft Access based application, record response times etc. But of course response time will be a function of the number of records returned by the query. The database displays a form that has a field displaying the number of records returned. We want to grab the contents of that field and save it in a log file. Problem is that AU3Info doesn't show a control ID for this field. Also you can't tab to the field using the Send() command (it hasn't got a tab stop). I've searched the forum but can't find anything relevant. The AutoIt help file mentions "AutoIt only works with standard Microsoft controls ...", so I'm assuming this field is one of those 'non-standard' controls. Any suggestions? Link to comment Share on other sites More sharing options...
GaryFrost Posted March 1, 2006 Share Posted March 1, 2006 Hi, has anyone had this problem before?We want to do some testing on a Microsoft Access based application, record response times etc. But of course response time will be a function of the number of records returned by the query. The database displays a form that has a field displaying the number of records returned. We want to grab the contents of that field and save it in a log file. Problem is that AU3Info doesn't show a control ID for this field. Also you can't tab to the field using the Send() command (it hasn't got a tab stop).I've searched the forum but can't find anything relevant. The AutoIt help file mentions "AutoIt only works with standard Microsoft controls ...", so I'm assuming this field is one of those 'non-standard' controls.Any suggestions? It should show a ClassNameNN for the control, try using that in place of controlid SciTE for AutoItDirections for Submitting Standard UDFs Don't argue with an idiot; people watching may not be able to tell the difference. Link to comment Share on other sites More sharing options...
Theodoric Posted March 1, 2006 Author Share Posted March 1, 2006 It should show a ClassNameNN for the control, try using that in place of controlidYes, it does have a ClassNameNN (its 'OKttbx1'). But there are a number of these controls on the form and they all have the same class name!!!If I use ControlGetText() and use the class name it returns the text from the first control on the form. Unfortunately, the control I need to access is further down the form. Link to comment Share on other sites More sharing options...
Theodoric Posted March 1, 2006 Author Share Posted March 1, 2006 I've been dabbling and found a solution myself. This is it ... ; get a link to the MS Access application object $oAccess = ObjGet("","Access.Application") if @error then Msgbox (0,"Access Test","Error Getting an active Access Object. Error code: " & hex(@error,8)) exit endif ; link to the form $oForm = $oAccess.Forms.Item("frmEntry") ; link to the control $oControl = $oForm.Controls("HowMany") ; get the value !!! $value = $oControl.Value MsgBox(48, "Value", $value) Solved. Havn't tried, but I expect a similar method can be used with other applications where you can link to its COM object. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now