access datenbank mit borland builer verändern/anlegen



  • wie jetzt? zwei Datenbanken mit je einer Tabelle? Warum nicht beide Tabellen in einer Datenbank?

    ein wenig Access-Kenntnisse solltest du schon haben wenn du damit arbeiten willst Datenbanke-FAQ

    im Prinzip stimmt dein Vorgehen, allerdings nur für eine Datenbank, wenn du wirklich 2 hast brauchst du auch 2 ADOConnections

    Otz110 schrieb:

    wenn ich 4 auf activ schalten möchten kommt ein fehler: eigenschaft sql fehlt! was bedeutet das?! was mach ich falsch?

    hast du im ADOQuery ein SQL-Kommando hinterlegt (Eigenschaft SQL im Objektinspektor)?

    Otz110 schrieb:

    wenn ich jetzt das prog starte, kommt die tabelle, zeigt aber keinen inhalt sonder nur die überschriften

    ist denn in der Tabelle auch was drin?



  • also hab nochmal etwas ausprobiert:

    hab jetzt nur eine datenbank mit 2 tabellen...

    in der einen stehen immernoch alle produkte und die anderen soll immernoch die einzelnen produkte zusammengefasst anzeigen.

    glaube jetzt stimmt mein sql code nicht ganz:

    ("Select Produkt, Count(Produkt) AS Menge From DerInhalt Group by Produkt ");

    es funktioniert etwas aber nicht das was ich will.
    wenn ich das prog ausführe zeigt es jetzt die anzahl der verschiedenen produkte und zeigt das produkt mit dem ersten bustaben im alphabet.

    das ist aber nicht der sinn meiner abfrage. ich möchte das es die gleichen produkte zusammenfasst und die anzahl der einzelnen produkte anzeigt!

    also wenn ich in der tabelle folgendes stehen habe:

    bier
    bier
    bier
    wasser
    bier
    wasser

    dann soll das am schluss so aussehen

    menge produkt
    4 bier
    2 wasser

    vielen dank und noch einen schönen abend



  • keiner ne idee?!



  • Die Abfrage sollte so schon stimmen

    Hast du die Abfrage mal im Access gemacht? Was kommt dort raus?



  • hmm im acces funktioniert es genau so wie ich es haben möchte:(

    ich glaub ich hab da noch was mit dem query falsch

    meinst du könntest mir da nochmal einen tipp geben?!

    ado connection hab ich auf der datenbank mit beidentabellen.
    ado table bei connect auf die adoconnection
    datasource hat die adotable eingetragen und als tablename die tabelle derinhalt in der alle produkte aufgelistet sind!
    und das query hat die datasource eingetragen und die tabelle produkt, in der am ende die geordneten produkte stehn sollen!

    bei dem query hab ich aber die sql anweisung nicht eingetragen, da ich sie durch eine btnclick ausführe!!!

    angezeigt bekomm ich immer noch die gesammt anzahl verschiedenen produkte hinter dem produkt mit dem ersten bustaben aus dem alphabet!

    proukt menge
    bier 7
    😃

    hoffe du kannst meinen fehler finden! hab langsam kein bock mehr:)



  • wenn du genau das gleiche SQL-Kommando im ADOQuery wie im Access verwendest sollte das eigentlich auch genau das gleiche Ergebnis liefern

    kannst ja dein Projekt (Quellcode und Datenbank) mal irgendwo hochladen, damit mal einer testen kann (wenn möglich nicht als rar)

    Was ich noch nicht ganz verstehe ist das mit dem

    die tabelle produkt, in der am ende die geordneten produkte stehn sollen

    da meist das SQL-Kommando die Sortierung bestimmt und nicht die Tabelle. Die meisten Datenbanken tragen die Werte irgendwie ein und selbst mit einem fortlaufenden Index (Autoincrement) heißt das nicht, dass bei einfacher Ansicht der Tabelle die Daten nach dem fortlaufenden Index sortiert/anzeigt werden.



  • ok das werd ich morgen früh mal machen!!!

    danke für die hilfe



  • hab hier mal einen auszug hochgeladen:
    (wie gewünscht, nicht als rar sondern zip:))

    http://rapidshare.com/files/374893749/pr.zip.html



  • also nochmal als Kochrezept:

    1. ADOConnection auf die Datenbank einstellen
    2. ADOQuery mit der ADOConnection verbinden
    3. DataSource mit dem ADOQuery verbinden und zwar so dass das ADOQuery im DataSource ausgewählt wird, nicht anders rum
    4. das DataSource mit dem DBGrid verbinden
    5. im ButtonClick steht dann:

    Form1->ADOConnection1->Connected=true; 
    ADOQuery1->SQL->Clear(); 
    ADOQuery1->SQL->Add("Select Produkt, Count(Produkt) AS Menge From DerInhalt Group by Produkt"); 
    ADOQuery1->Open();
    

    und so funktionierts bei mir einwandfrei



  • ahhhhhhhhhhhhhhh wunderbar....

    so funtioniert es wie ich es will:)

    benötigt man die adotable dann nicht?

    hab mich an so ne unterlage von meinem leher gehalten undn och bischen dazugedichtet:)

    vielen dank



  • Hallo

    Entweder TADOTable oder TADOQuery, wobei nur T...Query SQL-Abfragen ausführen kann. T...Table ist nur selten brauchbar.

    bis bald
    akari



  • hab jetzt ne neue fehlermeldung von einem teil, der die ganze zeit funktioniert hat:(

    adoquery1 commandtext gibt keine ergebnismenge zurück
    was sagt mir der fehler?!

    das ist die query, die bei meinem alten fehler auf die adoconnection gesetz wurde!

    kann eine query nicht doppel "angewählt" werden?!

    ok funktioniert!!!!!!!!!!!! sorry tippfehler von mir:)



  • hab noch ne kleine frage:

    hab folgende sql anweisung:

    Clear
    ADD("select produkt, mhd from derinhalt order by mhd");
    Open

    funktioniert jetzt ohne probleme.

    wenn ich jetzt aber bei dbgrid die spalten unter datenbank-fielname "einstellen" möchte bekomm ich den fehler:

    adoquery1:eigenschaft sql fehlt:(

    was bedeutet das?

    bei nem anderen dbgrid ging das ganze nach diesem muster ohne problem

    hab jetzt beim adoquery die sql anweisung eingefügt und es funktioniert!!!!
    Aber ich habe bei einer anderen sql anweisung das ganze auf einen button gelegt also das mit dem add("......").
    warum funktioniert das hier jetzt nicht?!

    vielen dank


Anmelden zum Antworten