Solved

SubScript Out of Range

Posted on 2007-04-01
7
317 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
Comment Utility
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
Comment Utility
Can u explain to me the syntax of values, i am just struggling with access
0
 
LVL 49

Expert Comment

by:Gustav Brock
Comment Utility
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
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 

Author Comment

by:tgatif
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
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

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

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 a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
This video Micro Tutorial explains how to clone a hard drive using a commercial software product for Windows systems called Casper from Future Systems Solutions (FSS). Cloning makes an exact, complete copy of one hard disk drive (HDD) onto another d…
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…

772 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now