| Hallo, 
 bei der folgenden SQLabfrage habe ich Schwierigkeiten, sie in eine DCount-Abfrage umzuformulieren
 
 SELECT tab_Treatments.Treat_short
 FROM tab_Treatments
 WHERE ((Not ((tab_Treatments.Treat_short)='Base' Or (tab_Treatments.Treat_short)='Resc')));
 
 Ergebnis 4 Reihen
 
 NormTreatmentGroups = DCount("Treat_short", "tab_Treatments", "((Not ((Treat_short = 'Base') and (Treat_short ='Resc'))))" )
 
 Ergebnis 7 weil in drei Reihen entweder Base oder Resc steht.
 Auch das folgende liefert 7, was ich nicht verstehe.
 Dim NormTreatmentGroups As Integer
 Dim con As ADODB.Connection
 Dim cat As ADOX.Catalog
 Dim rst As ADODB.Recordset
 Dim str1 As String
 Dim str2 As String
 Dim strSQL As String
 
 NormTreatmentGroups = DCount("Treat_short", "tab_Treatments", "((Not ((Treat_short = 'Base') and (Treat_short ='Resc')))) " )
 
 strSQL = "SELECT tab_Treatments.Treat_short FROM tab_Treatments " & _
 "Where ((Not ((tab_Treatments.Treat_short)='Base' Or (tab_Treatments.Treat_short)='Resc'))) ; "
 Debug.Print strSQL
 Set rst = New ADODB.Recordset
 Set con = CurrentProject.Connection
 rst.Open "tab_Treatments", con, adOpenKeyset, adLockOptimistic
 
 NormTreatmentGroups = Val(rst.RecordCount)
 Debug.Print NormTreatmentGroups
 
 End Sub
 Für strSQL ergibt sich : SELECT tab_Treatments.Treat_short FROM tab_Treatments Where ((Not ((tab_Treatments.Treat_short)='Base' Or (tab_Treatments.Treat_short)='Resc'))) ; Das ist doch formal die gleiche SQL-Abrage ganz oben. Ich bin verwundert.    Gruß Bernhard 
   |