Which is better: one or several requeries?

F

forest8

Hi

I have created about 30 NotInList events in my database.

Is it better to have 30 individual requeries or 1 requery that contains all
of them?

Thank you
 
D

Duane Hookom

Huh? Can you explain why you have 30 of something? Can you provide some
context or samples?
 
J

John W. Vinson

Hi

I have created about 30 NotInList events in my database.

Is it better to have 30 individual requeries or 1 requery that contains all
of them?

Thank you

None.

A properly written NotInList event will automatically requery the combo box to
which it is attached, and unless you're doing something really strange, no
other query or object should be affected.

Please explain a bit more about what sounds like a really strange form!
 
F

forest8

Hi

I am currently trying to build a case management database which involves
students and different areas of interest: Presecreening, Pre-entry, surveys
at 6 month intervals, current information, health needs, mental needs, risk
factors, care, treatment, etc.

I was a bit thrown off when some NotInList events sorted and some didn't.
They are all using the same code. Each time I copied the events I made the
necessary changes.

This is the code I used for the NotInEvent procedure for adding a new
hometown:

Private Sub Hometown_NotInList(NewData As String, Response As Integer)

On Error GoTo Insert_Error
intAnswer = MsgBox("This city is not currently in the list." & vbCrLf & _
"Would you like to add this city to the list now?" _
, vbQuestion + vbYesNo, "This city")

If intAnswer = vbYes Then
strSQL = "INSERT INTO CB_City([City]) " & _
"VALUES ('" & NewData & "');"
DoCmd.SetWarnings False
CurrentDb.Execute strSQL, dbFailOnError
DoCmd.SetWarnings True
MsgBox "This city has been added to the list." _
, vbInformation, "NewData"
Response = acDataErrAdded
End If
Exit Sub

Insert_Error:
MsgBox "The attempted insert produced the following error:" & vbCrLf & Err
Response = acDataErrContinue
End Sub

The changes I would make is to the message box statement and the table and
field name.

Thanks
 
J

John W. Vinson

Hi

I am currently trying to build a case management database which involves
students and different areas of interest: Presecreening, Pre-entry, surveys
at 6 month intervals, current information, health needs, mental needs, risk
factors, care, treatment, etc.

What's the structure *OF YOUR TABLES*? It all depends on the Tables.
I was a bit thrown off when some NotInList events sorted and some didn't.

NotInList has *absolutely nothing* to do with sorting.

A NotInList event will allow you to add another record to a table or
RowSource.

The sorting of the combo box is controlled by the ordering of the RowSource
query. If you add a new row to the table and have an Order By clause in the
query, that will sort the records and display them in order.
They are all using the same code. Each time I copied the events I made the
necessary changes.

This is the code I used for the NotInEvent procedure for adding a new
hometown:

Private Sub Hometown_NotInList(NewData As String, Response As Integer)

On Error GoTo Insert_Error
intAnswer = MsgBox("This city is not currently in the list." & vbCrLf & _
"Would you like to add this city to the list now?" _
, vbQuestion + vbYesNo, "This city")

If intAnswer = vbYes Then
strSQL = "INSERT INTO CB_City([City]) " & _
"VALUES ('" & NewData & "');"
DoCmd.SetWarnings False
CurrentDb.Execute strSQL, dbFailOnError
DoCmd.SetWarnings True
MsgBox "This city has been added to the list." _
, vbInformation, "NewData"
Response = acDataErrAdded
End If
Exit Sub

Insert_Error:
MsgBox "The attempted insert produced the following error:" & vbCrLf & Err
Response = acDataErrContinue
End Sub

This code should requery the combo box. If the combo box's RowSource is
sorted, it will display it sorted; if the combo box's RowSource isn't sorted,
the order of records will be arbitrary.

So I think you've been looking in the wrong place to solve your real problem.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top