Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

SubScript Out of Range

Posted on 2007-04-01
7
321 Views
Last Modified: 2013-11-28
I am trying to update a table named OperationRiskData if a user hit the Save Button on the Form . I have following code in onClick
---------------------------------Code---------------------------------------------
rivate Function ExecuteSQL() As Boolean
Dim sql As String
sql = "insert into OperationRiskData(Branch Name, Review Date,Branch Code,OpsManager Name,Event Description,Event Classification,Example,Business Lines,Approximate Amount,Action Taken,Action Date)" & _
 "values(CmbBranchName, DOB,txtBranchCode,Opsmanager,CboEvent,CboClassification,CboExample,txtbusinessline,txtamount,txtaction,txtdate);"
CmbBranchName = Forms![frmBranchInfo].CmbBranchName
DOB = Forms![frmBranchInfo].DOB
txtBranchCode = Forms![frmBranchInfo].txtBranchCode
Opsmanager = Forms![frmBranchInfo].Opsmanager
CboEvent = Forms![frmBranchInfo].CboEvent
Cboclassification = Forms![frmBranchInfo].Cboclassification
CboExample = Forms![frmBranchInfo].CboExample
txtbusinessline = Forms![frmBranchInfo].txtbusinessline
txtamount = Forms![frmBranchInfo].txtamount
txtaction = Forms![frmBranchInfo].txtaction
txtdate = Forms![frmBranchInfo].txtdate
DoCmd.RunSQL sql
End Function
---------------------------End Code--------------------------
--------Error Message that i am getting
The Expression Onclick you entered as the event property setting produced the following error ;SubScript Out of Range.
*The  Expression may not result the name of a macro or event
*There may have been an error evaluating the function or macro
0
Comment
Question by:tgatif
  • 4
  • 3
7 Comments
 
LVL 49

Expert Comment

by:Gustav Brock
ID: 18834836
You have to turn it upside-down: Define the variables, build the SQL, then run the SQL:

CmbBranchName = Forms![frmBranchInfo].CmbBranchName
DOB = Forms![frmBranchInfo].DOB
txtBranchCode = Forms![frmBranchInfo].txtBranchCode
Opsmanager = Forms![frmBranchInfo].Opsmanager
CboEvent = Forms![frmBranchInfo].CboEvent
Cboclassification = Forms![frmBranchInfo].Cboclassification
CboExample = Forms![frmBranchInfo].CboExample
txtbusinessline = Forms![frmBranchInfo].txtbusinessline
txtamount = Forms![frmBranchInfo].txtamount
txtaction = Forms![frmBranchInfo].txtaction
txtdate = Forms![frmBranchInfo].txtdate

sql = "insert into OperationRiskData(Branch Name, Review Date,Branch Code,OpsManager Name,Event Description,Event Classification,Example,Business Lines,Approximate Amount,Action Taken,Action Date)" & _
 "values('" & CmbBranchName & "', # & Format(DOB, "m\/d\/yyyy") & "#, '" & txtBranchCode & "', '" & ... etc. etc.
 
DoCmd.RunSQL sql

/gustav
0
 

Author Comment

by:tgatif
ID: 18835000
Can u explain to me the syntax of values, i am just struggling with access
0
 
LVL 49

Expert Comment

by:Gustav Brock
ID: 18835018
String must be wrapped in quotes:
  'some string'
dates in hash marks (and US-formatted as shown):
  #3/31/2007#
decimal numbers with dot as decimal separator:
  456.78
 - use Str() for this: strDecimal = Str(yourdecimalvalue)
and integer values 'as is':
  1234

/gustav
0
U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

 

Author Comment

by:tgatif
ID: 18835074
It is still giving me error "Expected end of statement" here is the SQL . The error occurs at the value and specifically at the date formate ( "m\/d\/yyyy).
Is it part of syntax to have backward and forward slash in the date format or is it typo........
here is Sql
---------------------------------------------------------------------------------------
sql = "insert into OperationRiskData(Branch Name, Review Date,Branch Code,OpsManager Name,Event Description,Event Classification,Example,Business Lines,Approximate Amount,Action Taken,Action Date)" & _
 "values('" & CmbBranchName & "', # & Format(DOB, "m\/d\/yyyy") & "#, '" & txtBranchCode & "', '" & Opsmanager & "','" & CboEvent & "','" & Cboclassification & "'," & CboExample & "'," & txtbusinessline & "'," & txtamount & "'," & txtaction & "',# & Format(txtdate, "m/d\/yyyy") & "#)"
0
 
LVL 49

Accepted Solution

by:
Gustav Brock earned 125 total points
ID: 18835101
You have to have symmetrical quotes:

"values('" & CmbBranchName & "', #" & Format(DOB, "m\/d\/yyyy") & "#, '" & txtBranchCode & "', '" & Opsmanager & "','" & CboEvent & "','" & Cboclassification & "','" & CboExample & "','" & txtbusinessline & "'," & Str(txtamount) & ",'" & txtaction & "',#" & Format(txtdate, "m/d\/yyyy") & "#)"

/gustav
0
 

Author Comment

by:tgatif
ID: 18835168
One more thing if i have a combo box say Branch Names and a text Box on a form, what i want is when i select the option in combo box the corresponding values in the text box will appear and is saved in the table . what i did is i have in control Source i have =CmbBranchName.Column(0)
CmbBranchName is branch name combo .
Problem is the branch code value  do not go to corresponding table all i have is 0 in the branch code Column .
is there a utilityi can upload my database and u can take a look,,,,,,,just thinking  
0
 
LVL 49

Expert Comment

by:Gustav Brock
ID: 18835210
If the textbox is bound to CmbBranchName:

  =CmbBranchName.Column(0)

it is not bound to the table.

You may use the AfterUpdate event of the combobox to set the field of the table:

  Me!NameOfFieldInTable = Me!CmbBranchName.Column(0)

/gustav
0

Featured Post

Enterprise Mobility and BYOD For Dummies

Like “For Dummies” books, you can read this in whatever order you choose and learn about mobility and BYOD; and how to put a competitive mobile infrastructure in place. Developed for SMBs and large enterprises alike, you will find helpful use cases, planning, and implementation.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Experts-Exchange is a great place to come for help with solutions for your database issues, and many problems are resolved within minutes of being posted.  Others take a little more time and effort and often providing a sample database is very helpf…
Introduction The Visual Basic for Applications (VBA) language is at the heart of every application that you write. It is your key to taking Access beyond the world of wizards into a world where anything is possible. This article introduces you to…
In Microsoft Access, learn how to “cascade” or have the displayed data of one combo control depend upon what’s entered in another. Base the dependent combo on a query for its row source: Add a reference to the first combo on the form as criteria i…
With Microsoft Access, learn how to specify relationships between tables and set various options on the relationship. Add the tables: Create the relationship: Decide if you’re going to set referential integrity: Decide if you want cascade upda…

792 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question