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
wasserdann soll das am schluss so aussehen
menge produkt
4 bier
2 wasservielen 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:))
-
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");
Openfunktioniert 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