Modules & VBA :: Shell And Invalid Procedure Call Or Argument
Feb 23, 2014
I have a form with a button to print preview a report. This report needs one input parameter before executing. The computer this will run on is a touch screen and does not have a keyboard. Windows 7 has a "on screen keyboard" program. I want this to run first so that my user can input the parameter.
I have the following which throws an "Invalid procedure Call or Argument"
Sub CallTeclado()
Dim RetVal
RetVal = Shell("c:windowssystem32osk.exe", vbNormalNoFocus)
End Sub
I'm developing an application where I want to call the keyboard up on the screen when a user enters a field. This is my setup:
Windows 8.1 32 Bit, Access Runtime 2010. Exact lines of code are:
Dim RetVal RetVal = Shell("C:Program FilesCommon Filesmicrosoft sharedinkTabTip.exe")
These lines of code work perfectly fine on my development PC which is running Windows 7 64 bit, Access/Office 32 bit.
I know the path to the exe is good. I can navigate and double click it and it works great. but the shell command is resulting in the invalid procedure.
I'm getting "Invalid procedure call or argument" pop up whenever my database uses any of the code. Any form that uses code in the Form_Open section now won't open etc.
This now effects all my forms, i'm 99% sure that i haven't changed anything and have no idea why its happening.
It doesn't seem to matter whether its clicking a button or opening a form it happens for any piece of code.
I've created a query to identify payees with only initial instead of first name for cheque payments.The query produces the correct results as far as I have seen so far.
Code: SELECT Daily_Work_Allocation.contact_reference, Daily_Work_Allocation.Payee, Len(Mid([payee],InStr([payee]," ")+1,(InStr(InStr([payee]," ")+1,[payee]," ")-InStr([payee]," ")-1))) AS Expr1, Daily_Work_Allocation.payment_method, Left([contact_reference],5) AS Expr2, Mid([payee],InStr([payee]," ")+1,(InStr(InStr([payee]," ")+1,[payee]," ")-InStr([payee]," ")-1)) AS Expr3 FROM Daily_Work_Allocation WHERE (((Daily_Work_Allocation.payment_method)="Cheque") AND ((Left([contact_reference],5))="PPI70"));
However I only wish to see those records that have a value of 1 for 3rd field (Expr1).When I enter 1 in criteria I get the IPC message?
I'm having to recode some old MS Access DBs so they will run in the following environments:
Office 2000 on WinXP Office 2003 on WinXP Office 2010 on WinXP Office 2000 on Win7 Office 2003 on Win7 Office 2010 on Win7
When I wrote my code for Office 2000 on WinXP things were simple because directory paths were the same across all computers and I could hard code pathing when using a shell command to launch other files.
My new approach is to make a function call to the Windows registry to determine the default executable and path for opening a file based upon its extension (see apicFindExecutable in basWindows API module).
I'm able to use code to create a shell call and debug print it to the immediate window. If I put my cursor in the immediate window at the end of the shell call and hit [enter] the external file will open as desired. If I try to open the external file directly through code, I get a file not found error.
To recreate the error take the following steps:
(1) browse to files that are accessible from your computer (2) click the PREPARE DATA AND OPEN MAIL MERGE DOCUMENTS command button
Shell function call is made by the fnOpenFile function located in the basOpenFile module. There has to be a trick here that I'm missing.
I'm attempting to create a foreign key field in a sub-query by using Left() and Instr() to parse the text of my key field and return the characters prior to the second "-".
Example: 002-C100-4569 ---> 002-C100
When I build a second query with a relationship between the foreign key field previously mentioned with the key field in an associated query, I get the error "Invalid Procedure Call"
I am trying to run a query in Access 2010 but I am getting an "Invalid Procedure Call" error. I searched online and found that this error can be caused by broken references.
I opened the VB editor (Alt F11) to search for "Missing" references but I do not see any. These are the 4 that are checked.
1. Visual Basic for Applications 2. Microsoft Access 14.0 Object Library 3. OLE Automation 4. Microsoft Office 14.0 Access database engine Object Library
I am getting an "Invalid procedure call" error when trying to run this query in Access. If I remove the Distinct it runs fine, but I need it in there to remove duplicates. Also, When I remove the expression Mid([SIDE_DRUG_DESC],(InStr([SIDE_DRUG_DESC],"("))+1,InStr([SIDE_DRUG_DESC],")")-InStr([SIDE_DRUG_DESC],"(")-1) AS ParseTxt with Distinct in place it runs, but I need the parsed text in the query. Any help would be appreciated. thanks
SELECT Distinct RGCNSEQ4_GCNSEQNO_MSTR.GCN_SEQNO, RGCNSEQ4_GCNSEQNO_MSTR.GCRT, tbl_RGenName_StrTbl.GNN60_PLUS, Mid([SIDE_DRUG_DESC],(InStr([SIDE_DRUG_DESC],"("))+1,InStr([SIDE_DRUG_DESC],")")-InStr([SIDE_DRUG_DESC],"(")-1) AS ParseTxt, RSIDEDD0_DRUG_DESC.SIDE_DRUG_DESC FROM (RSIDEDD0_DRUG_DESC INNER JOIN ((RSIDEGC0_GCNSEQNO_LINK INNER JOIN RGCNSEQ4_GCNSEQNO_MSTR ON RSIDEGC0_GCNSEQNO_LINK.GCN_SEQNO = RGCNSEQ4_GCNSEQNO_MSTR.GCN_SEQNO) INNER JOIN RSIDEMA3_MSTR ON RSIDEGC0_GCNSEQNO_LINK.SIDE = RSIDEMA3_MSTR.SIDE) ON RSIDEDD0_DRUG_DESC.SIDE = RSIDEMA3_MSTR.SIDE) INNER JOIN tbl_RGenName_StrTbl ON RGCNSEQ4_GCNSEQNO_MSTR.GCN_SEQNO = tbl_RGenName_StrTbl.GCN_SEQNO WHERE (((InStr([SIDE_DRUG_DESC],"("))>"0"));
I'm looking to use the shell function to dynamically call different pdfs that are in a directory. However I'm getting run time error 5 "Invalid procedure or call argument".
Here is the code (very basic I know)..
Private Sub Liste_Documentation_DblClick(Cancel As Integer) Dim PathName As String PathName = Me.Liste_Documentation.Column(2) ' Debug.Print PathName Shell PathName End Sub
A typical filepath name is as follows..
S:VenteVendeursMarcCRMDOCSDiligences KYC - LABFT - V 2013 04 23.pdf
I have 3 event procedure with 3 buttons to make them run.I would like to create another button that can run all procedures togehter. if I copy one of the procedures how do I tell it to run the other 2.
I found this code on a website that uses a form to search all tables in my database. Problem is that when I click "search" I get an invalid argument error. I am guessing that there is a problem with my SQL string. Missing space? Missing quotation marks? etc etc.... Anyway, here is the code:
Dim tdf As DAO.TableDef Dim fld As DAO.Field Dim rs As DAO.Recordset Dim strSearch As String Dim strTableName As String
I have 2 errored records in my large access database which I am unable to delete. As I scroll over either of these records I get the error "Invalid Argument" but the database is functional otherwise... Until Today!
Other users can get into the database but I get the "Invalid Argument" error before it even loads the main form.
Every now and again (for no apparant reason) a record in my table becomes corrupted (the fields all change to #Error, Error etc) Also, the relationship between that and another table breaks and when I try to go into the forms I get the "Invalid Argumnent" message
I am running Win XP Pro, with Office 2003 accross a network, with a FE/BE split
I have a database that uses quite a lot of outside sources. There are multiple users and each one of us now are getting the invalid argument error. When we received it before it was because the DB was huge. It has since been made smaller. What are other reasons as to why we are getting this error again? We have to get out of the database, compact it and then go back in in order to do anything with it.
I've apparently hit the two gig limit in access. The database won't let me compact/repair. it wont let me save changes to tables. I can't open access by itself and repair the external table. I'm sure that the database could be shrunk down if I could get it to do the repair! I get an "Invalid Argument" error on everything I try to do.
Anyone experience this? Anyone have any suggestions?
I seem to be having some major problems with one of our tables.
Recently a table that has been fine for a long time has developed something corrupt, so it seems.
I found that the LAST entry in the table is nothing but #Error in every single field. When I open the table, I get 'Invalid Entry'. Clicking the 'Help' brings me to a page about 'Invalid Argument (Error 3001)'.
I have tried recreating the table, and copying back ALL the entries except for the #Error one... but the new table ALSO gives me the same message.
Has anyone seen this before? Is it corrupt data? Is it a corrupt table structure? What would be the best course of action to save the remaining data and get this table back to up and running?
I have a Form based on a Table of Clients, names and addresses etc. One of the records appears to be corrupt in some way because any time I attempt to access this record, either on the Table or in the Form, I receive an error message "Invalid Argument". The database then shows #Error in every Text Field and I am forced to CTRL Alt Del to close the Database. I cannot even access the record in order to delete it. Any ideas anyone? Thanks.
As soon as I run a Make Table Query I get an "Invalid Argument" message and then I am unable to do anything. I can't even import a .txt file, I get "Invalid Argument" when I do anything. Is my file corrupt or is there something wrong when I select the query as "Make Table Query" I keep having to create a new database.....My database is 2G - could it be that it's too large?
This is my first time on this site. It seems everyone is very helpful here, and I thank you in advance for any advice you give me.
I am a sales manager of a small company and also provide as much IT support as possible. (and by as much as possible, it really isn't much) - We have been receiving an 'Invalid Argument' response each time we search for a new field in any Form or try to pull any Reports. The error message appears twice when running a search in the Forms, then the searched for account appears. When attempting to pull as specific Report, the error message is given, then nothing happens. At this time, we are unable to run any Reports.
I have read that this can happen when your Access database is too large. I don't think that is the issue, it is 1.33KB. Also - I cannot compact and repair the database.
I have a Access 2000 database that occasionally has a popup message "Invalid Argument", which prevents me from running any action queries or codes. Also another Access 2000 database that has the same "Invalid Argument" error from which prevents me to import the tables to another database.
Do anybody know WHY does the error happen? WHAT does it mean? and HOW we fix it??
I have a macro run from an autokey (F12) that uses SendTo to send the current report that's on screen to an email as an attachment. This has been working perfectly for years and all of a sudden when I hit the F12 key I get: The Object Type argument for the action or method is blank or invalid. It's fine to just right click the report and use Send To but this is a pain for my users who just want to hit F12 as before.
I have a split database with the back end sitting on a server.
I tried to delete two records (as i have done many times before) and now the fields are just filled with Error#. when I try and delete them from the table one at a time it comes up with Invalid argument (Error 3001) and then Access quits on me. I have tried everything I can think of - compact and repair, trying to copy the table, using all the fields in a make-table query to try and duplicate the table, moving the table off the server to my desktop and then trying to fix it, exporting to an Excel spreadsheet, trying a maketable query excluding these two records...but nothing works.