ComboBox



  • Das kann ich dir nicht sagen. Ich gebe das nicht an, weil es durch zwei Funktionen in CRecordset schon erledigt wird.
    Denk bitte daran, dass ich die Anbindung über ODBC und nicht DAO habe. ⚠

    Ich würde es einfach da stehen lassen, solange es geht und dir nicht jemand erklärt, wie es anders geht. 🙂 (Siehe mein "unnützes" if im anderen Beitrag.)



  • sorry wen ich jetzt so blöd frage aber ich hab jetzt mal den code in die OnInitDialog Funkt. reingeschrieben, Anstatt Banken habe ich meine Datenbanktabelle genommen

    [code]CAnlassSet AnlassSet;
    // Daten aus der Datenbank holen
    AnlassSet.Open();

    if (AnlassSet.IsBOF())
    { // Hab ich so kopiert, verhindert Fehler

    }
    else
    {
    while(!AnlassSet.IsEOF())
    { // Schleife über die Datensätze
    m_ctlComboAnlass.AddString(AnlassSet.GetAnlass());
    AnlassSet.MoveNext(); // Nächster
    }
    }

    jetzt kommen natürlich Fehlermeldungen
    error C2065: 'CAnlassSet' : nichtdeklarierter Bezeichner
    AnlassSet' : nichtdeklarierter Bezeichner
    Der linke Teil von '.Open' muss eine Klasse/Struktur/Union sein

    wie muss ich dass noch machen?
    danke



  • Das heißt bei dir doch

    m_ptrRs
    

    oder?

    Du musst schon deine Variablentypen verwenden. ⚠



  • _RecordsetPtr m_ptrRs;
    ja so ist m_ptrRs definiert, au man ich raff dass immer noch nicht
    _RecordsetPtr m_ptrRs;

    [/code]_RecordsetPtr m_ptrRs;
    // Daten aus der Datenbank holen
    AnlassSet.Open();

    if (AnlassSet.IsBOF())
    { // Hab ich so kopiert, verhindert Fehler

    }
    else
    {
    while(!AnlassSet.IsEOF())
    { // Schleife über die Datensätze
    m_ctlComboAnlass.AddString(AnlassSet.GetAnlass());
    AnlassSet.MoveNext(); // Nächster
    }
    }

    und asnstatt AnlassSet steht _RecordsetPtr das jetzt?



  • Du stehst irgendwie noch mit den Codetags auf Kriegsfuß. 😉

    m_ptrRs->Open(); 
    //Oder auch das was du vorhin geschrieben hattest:
        m_ptrRs->Open((LPCTSTR)m_strCmdText, (LPCTSTR)m_strConnection, 
    adOpenDynamic, adLockOptimistic, adCmdUnknown);
    
        if (m_ptrRs->IsBOF()) 
        { // Hab ich so kopiert, verhindert Fehler 
        } 
        else 
        { 
            while(!m_ptrRs->IsEOF()) 
            { // Schleife über die Datensätze 
                m_ctlComboAnlass.AddString(m_ptrRs->GetAnlass()); 
                m_ptrRs->MoveNext(); // Nächster 
            } 
        }
    


  • wie machste dass immer dass der code so aussieht im Fenster ?

    dass hab ich nun reinkopiert
    m_ptrRs->Open((LPCTSTR)m_strCmdText, (LPCTSTR)m_strConnection,
    adOpenDynamic, adLockOptimistic, adCmdUnknown);

    if (m_ptrRs->IsBOF())
    { // Hab ich so kopiert, verhindert Fehler
    }
    else
    {
    while(!m_ptrRs->IsEOF())
    { // Schleife über die Datensätze
    m_ctlComboAnlass.AddString(m_ptrRs->GetAnlass());
    m_ptrRs->MoveNext(); // Nächster
    }
    }

    Jetzt kommt noch der Fehler und wahrscheinlich Folgefehler
    error C2039: 'IsBOF' : Ist kein Element von '_Recordset'

    je mehr ich da rum mach umso tiefer steck ich im Sumpf 😉



  • Unter dem Eingabefeld für Text ist ein Knopf wo "C/C++" drauf steht. Den drückst du, dann fügst du deinen Quelltext ein und dann drückst du noch mal.
    Das sieht dann so aus, aber ohne *
    [cpp]
    //hier kommt dein Quelltext hin.
    [
    /cpp]

    So, da es mit der Übertragbarkeit von CRecordset zu dem was du da hast sehr hapert, müssen wir mal herausfinden WAS du da hast, damit man mal in die Hilfe schauen kann.

    Was ist _Recordset? Das ist ein Datentyp, soweit bin ich. Aber er steht nicht in meiner MSDN. Und in der im Internet sah der Beispielquelltext völlig unbekannt aus, wie Visual Basic. 😮
    Ich bin langsam echt ratlos, was du da hast.

    Die if kannst du auch testweise rauswerfen, aber ob dir das so viel weiter hilft?

    m_ptrRs->Open((LPCTSTR)m_strCmdText, (LPCTSTR)m_strConnection, 
    			  adOpenDynamic, adLockOptimistic, adCmdUnknown); 
    
    while(!m_ptrRs->IsEOF()) 
    { // Schleife über die Datensätze 
    	m_ctlComboAnlass.AddString(m_ptrRs->GetAnlass()); 
    	m_ptrRs->MoveNext(); // Nächster 
    }
    


  • http://www.se.fh-heilbronn.de/usefulstuff/VCPLUS6/kap15.htm
    also ich hab mir von dieser seite mal das beispiel copiert ( nur 3 sachen Nachname vorname alter)
    merh kann ich dazu auch nicht sagen , leider

    m_ctlComboAnlass.AddString("???");
    Das funktionier auch, dann seh ich meiner Combobox was

    aber ich wills ja nicht so, aber das hab ich ja alles schon geschrieben

    ne leider nicht, geht nicht
    error C2039: 'IsEOF' : Ist kein Element von '_Recordset'



  • Ich glaube, das heißt anders, lies mal in dem Kapitel den Abschnitt: Durch den Recordset navigieren (Achte besonders auf die Buchstaben EOF!)

    Das "Datensätze aktualisieren" sieht dem, was ich versucht hatte sehr ähnlich. Komisch, dass es nicht geht.

    Ich lese das Morgen nochmal, wenn ich mehr Ruhe habe - jetzt muss ich los.
    Vielleicht findest du ja noch was. 🙂



  • yup mache ich , danke für deine Hilfe, echt super nett von dir
    schönen abend noch,


Anmelden zum Antworten