Datenbankabfragen
-
Hallo,
Ich möchte in einem Recordset eine distinct-Abfrage ausführen.
Also die SQL-Abfrage soll so aussehen:
select distinct abc from testtabelle;Wie bekomme ich nun das distinct in die Tabellenabfrage (GetDefaultSQL???)
-
Ich würde einfach einen View machen.
Mit CRecordset geht es auch, es wurde hier auch schon beschrieben, denke ich - aber mit der klemmenden Suche wird es schwierig.
-
as_ow schrieb:
Wie bekomme ich nun das distinct in die Tabellenabfrage (GetDefaultSQL???)
In GetDefaultSQL(...) reinschreiben und ausprobieren, ob es klappt.
Ansonsten kannst du es auch in m_strFilter schreiben:
Tabelle.m_strFilter = "SELECT DISTINCT Feld FROM Tabelle";...und dann Open() oder Requery().
-
im Filter würde ich abraten, da dieser STring nach der WHERE-KLausel angehängt wird ...
-
Du leitest doch von CRecordset ab. Gebe Dieser Ableitung einen boolsches Flag hinzu, z. B. m_bDistinct, und werde es in GetDefaultSQL aus. Gib dort einmal das SQL-Statement mit oder ohne DISTINCT an ...
-
Hallo,
Lösung ist ganz einfach, hatte nur noch einen ungültigen Wert für
m_strSort gesetztDer wert wird in die rfx-Variable eingebunden:
void CRSet::DoFieldExchange(CFieldExchange* pFX) { //{{AFX_FIELD_MAP(CRSet) pFX->SetFieldType(CFieldExchange::outputColumn); RFX_Text(pFX, _T("DISTINCT TEAM"), m_TEAM); //}}AFX_FIELD_MAP }
Dieser Teil wird hinter das Select eingefügt. Über m_strFilter und GetDefaultSQL funktioniert es übrigens nicht.
Trotzdem Danke für die Antworten