mehrere Datenbanken bearbeiten



  • Also ich denk daran liegts auch nicht, weil es ja klappt wenn ich nur eine Tabelle einbinde. Trotzdem danke! Noch ne Idee?

    Grüße

    Hansi



  • Hm keine Ahnung ?
    Aber wieso machst du nicht einfach für jede Tabelle eine eigene Klasse ?
    So mach ich das immer - funktioniert wunderbar 😉



  • Es liegt an Deiner GetDefaultSQL()-Impl.:

    Wenn Du Edit() aufrufst wird eine Update-Anweisung generiert. Eine Update-Anweisung kann aber immer nur eine Tabelle ändern.
    Versuch mal im Access eine Update-Anweisung mit meheren Tabellennamen zu formulieren. Es wird Dir nicht gelingen.

    Du wirst wohl ober übel für jede Tabelle eine Klasse bauen müssen.



  • Danke! Aber wie kann ich dann diese Variable m_pSet erzeugen und auch so benutzen? Ich bin nämlich leider Anfänger und kenne mich nicht so aus, bin aber auch erst 14.

    Grüße

    Vielen Dank

    Hansi



  • Bitte sag mir doch mal jemand wie ich diese variable m_pSet erzeuge, wenn ich jede Tabelle einzeln mache und dann m_pSet auch so verwenden kann. Ich weiß es echt nicht!

    Danke

    Hansi



  • Versuch es aus einer vom Assistenten generierten Anwendung abzuleiten.
    Das geht ganz gut.

    Prinzipiell:
    -neue Recordset-Klasse
    -CMyRecordset myRecordset in die Doc-Klasse
    -CMyRecordSet* m_pSet in View (oder wo du willst)
    -m_pSet=&GetDocument()->myRecordset

    if(!m_pSet->IsOpen())
       m_pSet->Open();
    


  • CrazyOwl schrieb:

    Versuch es aus einer vom Assistenten generierten Anwendung abzuleiten.
    Das geht ganz gut.

    Wenns nicht funktioniert kannst ja einfach noch mal fragen. 😉

    PS: Die Anbindung an die Datenbanktabelle machst du per Assistenten, oder...



  • Danke!Ich werds mal probieren. Aber eins muss ich mal bemerken du hast viel mehr ahnung als die typies in so manch anderem forum!

    Nochmals danke!

    Grüße

    Hansi



  • Habs jetzt mal ausprobiert, allerdings mit ODBC-Anbindung.
    Sollte jedoch egal sein, hab das gleiche vor ca. auch schon mit DAO gemacht, ist ziehmlich gleich.

    Kleine ToDo-Liste ;-):

    1.) Recordset-Klasse erstellen CMyRecordset

    2.) in der Doc.cpp:

    CMyRecordset m_Recordset;
    

    3.) in die Doc.cpp

    #include "MyRecordset.h"
    

    vor der Zeile

    #include "...Doc.h"
    

    4.) in der View.h, oder wo du sie brauchst

    CMyRecordset* m_pSet;
    

    5.) in die OnInitialUpdate der View-Klasse

    m_pSet = &GetDocument()->m_Recordset;
    
        if(m_pSet->IsOpen())
           m_pSet->Close();
    
        m_pSet->Open();
    

    6.) in die View.cpp

    #include "MyRecordset.h"
    

    vor

    #include "...doc.h"
    

    7.) in die <Anwendungsname>.cpp - Datei

    #include "MyRecordset.h"
    

    vor

    #include "...Doc.h"
    

    Viel Spass 🙂



  • FAQ 🙂


Anmelden zum Antworten