Rocky Smolin - Beach Access Software
bchacc at san.rr.com
Sun Apr 17 09:32:19 CDT 2005
Connie:
When you say "species in this list unless they have a different sub species"
do you really mean list or duplicate in the database?
When the user selects a species is the sub-species box requeried to present
only those sub-species which are valid for the selected species?
You probably need to check for duplicates in the after update event of the
sub-species combo box. If a duplicate is found tell the user and either use
Me.Undo to undo all the changes or blank out the species and sub-species
combo boxes and set the focus to the species box.
HTH
Rocky Smolin
Beach Access Software
http://www.e-z-mrp.com
858-259-4334
----- Original Message -----
From: <connie.kamrowski at agric.nsw.gov.au>
To: <accessd at databaseadvisors.com>
Sent: Saturday, April 16, 2005 8:48 PM
Subject: [AccessD] How to Question - check for duplicates in cascading
comboboxes
>
> Hello all
>
> I have a cascading combo box which presents the user with firstly a list
> of
> species on the left and then subsequently a list of sub species on the
> right when a species is chosen.
>
> I have to ensure that there are no duplicates of species in this list
> unless they have a different sub species. I figured the best way to do
> this
> will be to check for a duplicate species and if there is one then check
> for
> duplicate sub species, if there is then alert the user and set focus to
> this duplicate.
>
> I am a little unsure as to the best way to go about this, as they will
> need
> to have chosen a species and a sub species before I do the check should
> this be called on the before update of the sub species column? if so there
> will already be an entry for species so I will need to delete it as well?
> I
> have attached the code for the combo boxes for the sake of clarifying how
> the lists are populated.
>
>
> Connie Kamrowski
>
> Analyst/Programmer
> Information Technology
> NSW Department of Primary Industries
> Orange
>
>
> <code> -----------------
>
> Private Sub Species_AfterUpdate()
>
> Dim db As Database, rs As Recordset
> Dim strDefaultName As String
> Dim IntX As Integer
>
> If Not IsNull(Me!Species) Then
> IntSpecies = Me!Species
>
> End If
>
> Set db = CurrentDb()
> Set rs = db.OpenRecordset("SELECT
> [tblCSubSpecies].[SubSpeciesID],[tblCSubSpecies].[SubSpecies],[tblCSubSpecies].[CommonName]"
> _
> & "FROM [tblCSubSpecies] " _
> & "WHERE [tblCSubSpecies].[SpeciesID]= " &
> IntSpecies & ";")
>
>
> IntX = DCount("[SpeciesID]", "tblCSpecies", "[SpeciesID] = " &
> IntSpecies & " ")
>
> Exit Sub
>
> If Not IsNull(Me.Species) Then
> IntSpecies = Me!Species
> Me!cboSubSpecies.RowSource = "SELECT DISTINCTROW
> [qrySubSpeciesSelect].[SubSpeciesID],[qrySubSpeciesSelect].[SubSpecies]&'
> ('& [qrySubSpeciesSelect].[CommonName]&')' " _
> & " FROM [qrySubSpeciesSelect] " _
> & " WHERE
> [qrySubSpeciesSelect].[SpeciesID] = " & IntSpecies & ";"
> Else
> End If
>
> Exit_Species_AfterUpdate:
> On Error Resume Next
> If Not (rs Is Nothing) Then rs.Close: Set rs = Nothing
> On Error Resume Next
> If Not (db Is Nothing) Then Set db = Nothing
>
> Exit Sub
>
>
> End Sub
> Private Sub cboSubSpeciesSource()
> On Error GoTo Err_cboSubSpeciesSource
>
> If Not IsNull(Me!Species) Then
> IntSpecies = Me!Species
> Me!cboSubSpecies.RowSource = " SELECT DISTINCTROW
> [qrySubSpeciesSelect].[SubSpeciesID],[qrySubSpeciesSelect].[SubSpeciesName]&'
> ('& [qrySubSpeciesSelect].[CommonName]&')' " _
> & " FROM [qrySubSpeciesSelect] " _
> & " WHERE [qrySubSpeciesSelect].[SpeciesID] = "
> & IntSpecies & ";"
>
> Else
> End If
> Exit_cboSubSpeciesSource:
> Exit Sub
>
> Err_cboSubSpeciesSource:
> Select Case Err
> Case 0 'insert Errors you wish to ignore here
> Resume Next
> Case Else 'All other errors will trap
> Beep
> MsgBox Err.Description, , "Error in function
> Form_sfrmLoad.SubSpeciesSource"
> Resume Exit_cboSubSpeciesSource
> End Select
> Resume 0 'FOR TROUBLESHOOTING
>
> End Sub
>
>
> Private Sub cboSubSpecies_GotFocus()
> If Not IsNull(Me!Species) Then
>
> IntSpecies = Me!Species
> Me!cboSubSpecies.RowSource = " SELECT DISTINCTROW
> [qrySubSpeciesSelect].[SubSpeciesID],[qrySubSpeciesSelect].[SubSpecies]&'
> ('& [qrySubSpeciesSelect].[CommonName]&')' " _
> & " FROM [qrySubSpeciesSelect] " _
> & " WHERE [qrySubSpeciesSelect].[SpeciesID] = "
> & IntSpecies & " ; "
> Else
> End If
>
> Me.cboSubSpecies.Dropdown
> End Sub
>
> Private Sub cboSubSpecies_LostFocus()
>
> Me!cboSubSpecies.RowSource = " SELECT
> [qrySubSpeciesSelect].[SpeciesID],[qrySubSpeciesSelect].[SubSpecies]&'
> ('&
> [qrySubSpeciesSelect].[CommonName]&')' " _
> & " FROM [qrySubSpeciesSelect]; "
>
> End Sub
>
> ------------------>
>
> This message is intended for the addressee named and may contain
> confidential information. If you are not the intended recipient or
> received
> it in error, please delete the message and notify sender. Views expressed
> are those of the individual sender and are not necessarily the views of
> their organisation.
>
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>