Selecting No on Sys. Mgmt. window

  • Follow


I have an Add Record to Table button on my form that adds the user's input 
from the form to a table.  When I click on this button, it produces a Systems 
Management window with this message:

"You are about to append 1 row(s).  Once you click Yes, you can't use the 
Undo command to reservse the changes.  Are you sure you want to append the 
selected rows?"

I'm not sure what part of my code produces this window.  If I click on Yes, 
everything is hunky dorey and the record gets added to the table.  But if I 
click on No, I get a Run-time error '2501': The RunSQL action was canceled.  
Here's the On Click code for this button:

Private Sub Add_Button_Click()
'Inserts a record into table
    InsertProcess
 End Sub
  
 Private Sub InsertProcess()
'Query that inserts the process record
    Dim strSQL As String
    
        strSQL = "INSERT INTO T000_Main (Process_ID_Num, Process_Name, 
Process_Owner, Process_Type, Program_Type, Description, Program_Names, 
Last_Updated, Process_Keyword, Directory, Frequency, DateCreated) VALUES ('" 
& Me.Process_ID_Num_Text_Box & "', '" & Me.Process_Name_Text_Box & "', '" & 
Me.Process_Owner_Combo_Box & "', '" & Me.Process_Type_Combo_Box & "', '" & 
Me.Program_Type_Combo_Box & "', '" & Me.Description_Text_Box & "', '" & 
Me.Program_Names_Text_Box & "', #" & Format(Me.Calendar7, "short date") & "#, 
'" & Me.Process_Keyword_Text_Box & "', """ & Me.Directory_Text_Box & """, '" 
& Me.Frequency_Combo_Box & "', #" & Now & "#)"
        
    DoCmd.RunSQL strSQL

End Sub

I think I might need to have "On Error GoTo" code but I don't know what that 
code should be.  If the user selects No, I'd like the application's behavior 
to close the System Management window and bring the user back to the same 
form with the same data they had input.

Thanks for your help in advance!
-- 
Sue
Programmer/Data Analyst
Minnesota
0
Reply Utf 4/10/2007 4:20:06 PM

The DoCmd.RunSQL strSQL statement is what's generating the message.

If you really want to give the user the option of stopping the insertion, 
try changing your InsertProcess sub to:

Private Sub InsertProcess()
On Error GoTo Err_InsertProcess
'Query that inserts the process record
    Dim strSQL As String

        strSQL = "INSERT INTO T000_Main (Process_ID_Num, Process_Name,
Process_Owner, Process_Type, Program_Type, Description, Program_Names,
Last_Updated, Process_Keyword, Directory, Frequency, DateCreated) VALUES ('"
& Me.Process_ID_Num_Text_Box & "', '" & Me.Process_Name_Text_Box & "', '" &
Me.Process_Owner_Combo_Box & "', '" & Me.Process_Type_Combo_Box & "', '" &
Me.Program_Type_Combo_Box & "', '" & Me.Description_Text_Box & "', '" &
Me.Program_Names_Text_Box & "', #" & Format(Me.Calendar7, "short date") & 
"#,
'" & Me.Process_Keyword_Text_Box & "', """ & Me.Directory_Text_Box & """, '"
& Me.Frequency_Combo_Box & "', #" & Now & "#)"

    DoCmd.RunSQL strSQL

End_InsertProcess:
  Exit Sub

Err_InsertProcess:
  Select Case Err.Number
    Case 2501 ' "The RunSQL action was cancelled."
      Resume Next
    Case Else
      MsgBox Err.Number & ": " & Err.Description
      Resume End_InsertProcess
  End Select

End Sub

If you don't want them have the choice, change it to:

 Private Sub InsertProcess()
'Query that inserts the process record
    Dim strSQL As String

        strSQL = "INSERT INTO T000_Main (Process_ID_Num, Process_Name,
Process_Owner, Process_Type, Program_Type, Description, Program_Names,
Last_Updated, Process_Keyword, Directory, Frequency, DateCreated) VALUES ('"
& Me.Process_ID_Num_Text_Box & "', '" & Me.Process_Name_Text_Box & "', '" &
Me.Process_Owner_Combo_Box & "', '" & Me.Process_Type_Combo_Box & "', '" &
Me.Program_Type_Combo_Box & "', '" & Me.Description_Text_Box & "', '" &
Me.Program_Names_Text_Box & "', #" & Format(Me.Calendar7, "short date") & 
"#,
'" & Me.Process_Keyword_Text_Box & "', """ & Me.Directory_Text_Box & """, '"
& Me.Frequency_Combo_Box & "', #" & Now & "#)"

    CurrentDb.Execute strSQL, dbFailOnError

End Sub

-- 
Doug Steele, Microsoft Access MVP
http://I.Am/DougSteele
(no private e-mails, please)


"Sue" <Sue@discussions.microsoft.com> wrote in message 
news:F807FE25-C80C-4C7E-A816-8D29C4263FE0@microsoft.com...
>I have an Add Record to Table button on my form that adds the user's input
> from the form to a table.  When I click on this button, it produces a 
> Systems
> Management window with this message:
>
> "You are about to append 1 row(s).  Once you click Yes, you can't use the
> Undo command to reservse the changes.  Are you sure you want to append the
> selected rows?"
>
> I'm not sure what part of my code produces this window.  If I click on 
> Yes,
> everything is hunky dorey and the record gets added to the table.  But if 
> I
> click on No, I get a Run-time error '2501': The RunSQL action was 
> canceled.
> Here's the On Click code for this button:
>
> Private Sub Add_Button_Click()
> 'Inserts a record into table
>    InsertProcess
> End Sub
>
> Private Sub InsertProcess()
> 'Query that inserts the process record
>    Dim strSQL As String
>
>        strSQL = "INSERT INTO T000_Main (Process_ID_Num, Process_Name,
> Process_Owner, Process_Type, Program_Type, Description, Program_Names,
> Last_Updated, Process_Keyword, Directory, Frequency, DateCreated) VALUES 
> ('"
> & Me.Process_ID_Num_Text_Box & "', '" & Me.Process_Name_Text_Box & "', '" 
> &
> Me.Process_Owner_Combo_Box & "', '" & Me.Process_Type_Combo_Box & "', '" &
> Me.Program_Type_Combo_Box & "', '" & Me.Description_Text_Box & "', '" &
> Me.Program_Names_Text_Box & "', #" & Format(Me.Calendar7, "short date") & 
> "#,
> '" & Me.Process_Keyword_Text_Box & "', """ & Me.Directory_Text_Box & """, 
> '"
> & Me.Frequency_Combo_Box & "', #" & Now & "#)"
>
>    DoCmd.RunSQL strSQL
>
> End Sub
>
> I think I might need to have "On Error GoTo" code but I don't know what 
> that
> code should be.  If the user selects No, I'd like the application's 
> behavior
> to close the System Management window and bring the user back to the same
> form with the same data they had input.
>
> Thanks for your help in advance!
> -- 
> Sue
> Programmer/Data Analyst
> Minnesota 


0
Reply Douglas 4/10/2007 5:46:38 PM

Thanks, Doug!  Works perfect!
-- 
Sue
Programmer/Data Analyst
Minnesota


"Douglas J. Steele" wrote:

> The DoCmd.RunSQL strSQL statement is what's generating the message.
> 
> If you really want to give the user the option of stopping the insertion, 
> try changing your InsertProcess sub to:
> 
> Private Sub InsertProcess()
> On Error GoTo Err_InsertProcess
> 'Query that inserts the process record
>     Dim strSQL As String
> 
>         strSQL = "INSERT INTO T000_Main (Process_ID_Num, Process_Name,
> Process_Owner, Process_Type, Program_Type, Description, Program_Names,
> Last_Updated, Process_Keyword, Directory, Frequency, DateCreated) VALUES ('"
> & Me.Process_ID_Num_Text_Box & "', '" & Me.Process_Name_Text_Box & "', '" &
> Me.Process_Owner_Combo_Box & "', '" & Me.Process_Type_Combo_Box & "', '" &
> Me.Program_Type_Combo_Box & "', '" & Me.Description_Text_Box & "', '" &
> Me.Program_Names_Text_Box & "', #" & Format(Me.Calendar7, "short date") & 
> "#,
> '" & Me.Process_Keyword_Text_Box & "', """ & Me.Directory_Text_Box & """, '"
> & Me.Frequency_Combo_Box & "', #" & Now & "#)"
> 
>     DoCmd.RunSQL strSQL
> 
> End_InsertProcess:
>   Exit Sub
> 
> Err_InsertProcess:
>   Select Case Err.Number
>     Case 2501 ' "The RunSQL action was cancelled."
>       Resume Next
>     Case Else
>       MsgBox Err.Number & ": " & Err.Description
>       Resume End_InsertProcess
>   End Select
> 
> End Sub
> 
> If you don't want them have the choice, change it to:
> 
>  Private Sub InsertProcess()
> 'Query that inserts the process record
>     Dim strSQL As String
> 
>         strSQL = "INSERT INTO T000_Main (Process_ID_Num, Process_Name,
> Process_Owner, Process_Type, Program_Type, Description, Program_Names,
> Last_Updated, Process_Keyword, Directory, Frequency, DateCreated) VALUES ('"
> & Me.Process_ID_Num_Text_Box & "', '" & Me.Process_Name_Text_Box & "', '" &
> Me.Process_Owner_Combo_Box & "', '" & Me.Process_Type_Combo_Box & "', '" &
> Me.Program_Type_Combo_Box & "', '" & Me.Description_Text_Box & "', '" &
> Me.Program_Names_Text_Box & "', #" & Format(Me.Calendar7, "short date") & 
> "#,
> '" & Me.Process_Keyword_Text_Box & "', """ & Me.Directory_Text_Box & """, '"
> & Me.Frequency_Combo_Box & "', #" & Now & "#)"
> 
>     CurrentDb.Execute strSQL, dbFailOnError
> 
> End Sub
> 
> -- 
> Doug Steele, Microsoft Access MVP
> http://I.Am/DougSteele
> (no private e-mails, please)
> 
> 
> "Sue" <Sue@discussions.microsoft.com> wrote in message 
> news:F807FE25-C80C-4C7E-A816-8D29C4263FE0@microsoft.com...
> >I have an Add Record to Table button on my form that adds the user's input
> > from the form to a table.  When I click on this button, it produces a 
> > Systems
> > Management window with this message:
> >
> > "You are about to append 1 row(s).  Once you click Yes, you can't use the
> > Undo command to reservse the changes.  Are you sure you want to append the
> > selected rows?"
> >
> > I'm not sure what part of my code produces this window.  If I click on 
> > Yes,
> > everything is hunky dorey and the record gets added to the table.  But if 
> > I
> > click on No, I get a Run-time error '2501': The RunSQL action was 
> > canceled.
> > Here's the On Click code for this button:
> >
> > Private Sub Add_Button_Click()
> > 'Inserts a record into table
> >    InsertProcess
> > End Sub
> >
> > Private Sub InsertProcess()
> > 'Query that inserts the process record
> >    Dim strSQL As String
> >
> >        strSQL = "INSERT INTO T000_Main (Process_ID_Num, Process_Name,
> > Process_Owner, Process_Type, Program_Type, Description, Program_Names,
> > Last_Updated, Process_Keyword, Directory, Frequency, DateCreated) VALUES 
> > ('"
> > & Me.Process_ID_Num_Text_Box & "', '" & Me.Process_Name_Text_Box & "', '" 
> > &
> > Me.Process_Owner_Combo_Box & "', '" & Me.Process_Type_Combo_Box & "', '" &
> > Me.Program_Type_Combo_Box & "', '" & Me.Description_Text_Box & "', '" &
> > Me.Program_Names_Text_Box & "', #" & Format(Me.Calendar7, "short date") & 
> > "#,
> > '" & Me.Process_Keyword_Text_Box & "', """ & Me.Directory_Text_Box & """, 
> > '"
> > & Me.Frequency_Combo_Box & "', #" & Now & "#)"
> >
> >    DoCmd.RunSQL strSQL
> >
> > End Sub
> >
> > I think I might need to have "On Error GoTo" code but I don't know what 
> > that
> > code should be.  If the user selects No, I'd like the application's 
> > behavior
> > to close the System Management window and bring the user back to the same
> > form with the same data they had input.
> >
> > Thanks for your help in advance!
> > -- 
> > Sue
> > Programmer/Data Analyst
> > Minnesota 
> 
> 
> 
0
Reply Utf 4/10/2007 6:18:02 PM

2 Replies
197 Views

(page loaded in 0.086 seconds)


Reply: