Domain Problem
bkleine
Gesendet: 12.12.13 11:41
Betreff: Domain Problem


Member

Beiträge: 31
25

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

 

Top of the page Bottom of the page