Link to home
Start Free TrialLog in
Avatar of tgatif
tgatif

asked on

SubScript Out of Range

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
Avatar of Gustav Brock
Gustav Brock
Flag of Denmark image

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
Avatar of tgatif
tgatif

ASKER

Can u explain to me the syntax of values, i am just struggling with access
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
Avatar of tgatif

ASKER

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") & "#)"
ASKER CERTIFIED SOLUTION
Avatar of Gustav Brock
Gustav Brock
Flag of Denmark image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of tgatif

ASKER

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  
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