Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations derfloh on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

VBA help with Access Form

Status
Not open for further replies.

ptw78

Technical User
Mar 5, 2009
155
US
I have a form in access. Below is the original code I had in the form. It worked fine, but I have to change it now. I made what I thought where the correct changes but I'm getting an error. I've tried two different ways and am getting two different errors.

Here is the original code that worked. S_Code_Type is for a dropdown list in a form.
Code:
Private Sub Form_Load()

Dim Sessions As Object, System As Object, Sess0 As Object
Set System = CreateObject("EXTRA.System")
Set Sessions = System.Sessions
Set Sess0 = System.ActiveSession

Do

    Sess0.Screen.MoveTo 3, 18
    Sess0.Screen.SendKeys (Account_Number & "<EraseEOF><Enter>")
    Sess0.Screen.WaitHostQuiet (g_HostSettleTime)
    Sess0.Screen.MoveTo 5, 73
    Sess0.Screen.SendKeys (S_Code_Type & "<Enter>")
    Sess0.Screen.WaitHostQuiet (g_HostSettleTime)
    DoCmd.RunCommand acCmdRecordsGoToNext
    
Loop Until IsNull(Account_Number)
    
DoCmd.Close
    
End Sub

Here is my first effort at a change that didn't work.
I received compiler error Else without IF
Code:
Private Sub Form_Load()

Dim Sessions As Object, System As Object, Sess0 As Object
Set System = CreateObject("EXTRA.System")
Set Sessions = System.Sessions
Set Sess0 = System.ActiveSession

Do

    Sess0.Screen.MoveTo 3, 18
    Sess0.Screen.SendKeys (Account_Number & "<EraseEOF><Enter>")
    Sess0.Screen.WaitHostQuiet (g_HostSettleTime)
    Sess0.Screen.MoveTo 5, 73
    'Sess0.Screen.SendKeys (S_Code_Type & "<Enter>")
    If S_Code_Type = S77 Then Sess0.Screen.Senkeys ("F77" & "<Enter>")
'**complier error received here on next line ElseIf S_Code_Type = S78
    ElseIf S_Code_Type = S78 Then Sess0.Screen.Senkeys ("F78" & "<Enter>")  
    ElseIf S_Code_Type = S79 Then Sess0.Screen.Senkeys ("F79" & "<Enter>")
    ElseIf S_Code_Type = S80 Then Sess0.Screen.Senkeys ("F80" & "<Enter>")
    End If
    Sess0.Screen.WaitHostQuiet (g_HostSettleTime)
    DoCmd.RunCommand acCmdRecordsGoToNext
    
Loop Until IsNull(Account_Number)
    
DoCmd.Close
    
End Sub


my third attempt w/a select case. Error I received here was runtime error 2046
command or action 'RecordsGoToNext' isnt available now.
Code:
Private Sub Form_Load()

Dim Sessions As Object, System As Object, Sess0 As Object
Set System = CreateObject("EXTRA.System")
Set Sessions = System.Sessions
Set Sess0 = System.ActiveSession

Do

    Sess0.Screen.MoveTo 3, 18
    Sess0.Screen.SendKeys (Account_Number & "<EraseEOF><Enter>")
    Sess0.Screen.WaitHostQuiet (g_HostSettleTime)
    Sess0.Screen.MoveTo 5, 73
    Select Case S_Code_Type
        Case Is = S77:
            Sess0.Screen.Senkeys ("F77" & "<Enter>")
        Case Is = S78:
            Sess0.Screen.Senkeys ("F78" & "<Enter>")
        Case Is = S79:
            Sess0.Screen.Senkeys ("F79" & "<Enter>")
        Case Is = S80:
            Sess0.Screen.Senkeys ("F80" & "<Enter>")
    End Select
        
    Sess0.Screen.WaitHostQuiet (g_HostSettleTime)
    DoCmd.RunCommand acCmdRecordsGoToNext  '****runtime error here
    
Loop Until IsNull(Account_Number)
    
DoCmd.Close
    
End Sub
 
Create a new query and view the SQL. Copy and paste this to see if any rows are returned:
Code:
SELECT Account_Number, S_Code_Type 
FROM FHAReferrals 
WHERE [Date] Between Date()-2 And Date() AND [S Code]=True AND Decision = "Referred"

Duane
Hook'D on Access
MS Access MVP
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top