Supportnet / Forum / Datenbanken
neues textfeld soll wert anzeigen
Frage
also hab eine tabelle aus 7-8 importierten db erstellt. nun will ich
in den 7-8 importierten tabellen ein neues textfeld erstellen das einen wert hat zb "db1" oder für die zweite "db2",
sodass ich hinterher sehe aus welcher ursprünglichen db der datensatz kommt.
mit standardwert werden nur neu datensätze mit dem defaultwert gefüllt,
wei geht das bei jeweils 100derten existierender ds??
ich hoffe das war verständlich..
thx im voraus
Antwort 1 von klausinger
Ich verstehs nicht ganz. Hast Du jetzt aus mehreren Tabellen EINE Tabelle gemacht oder in einer Datenbank Tabellen aus verschiedenen Datenbanken zusammengeführt, diese sind aber Einzeltabellen?
Vorschlag für Variante 1 - mehrere Tabellen in einer zusammenfassen?
Hast Du die ursprünglichen Tabellen noch? Dann könntest du die Dateien mit einer Anfügeabfrage in die Zieltabelle einfügen und die gewünschte Angabe in dein neues Feld einfügen. Du müßtest also die Abfrage mehrmals ausführen und modifizieren (was die Ursprungstabelle angeht)
Wenn es Einzeltabellen sind würde ich ein ähnliches Verfahren wählen, nämlich eine Aktualisierungsabfrage, damit kannst Du in der jeweiligen Zieltabelle ein Feld mit einem bestimmten Wert ausfüllen. Beispielsweise mit der Bedingung wenn das Feld NULL ist den Eintrag db1 einfügen.
Ist im Prinzip eigentlich beides recht easy, deshalb geh ich nicht zu sehr in Detail.
Vielleicht hat natürlich jemand anders bessere Vorschläge oder eine elegantere Lösung.
Gruß
klausinger
Vorschlag für Variante 1 - mehrere Tabellen in einer zusammenfassen?
Hast Du die ursprünglichen Tabellen noch? Dann könntest du die Dateien mit einer Anfügeabfrage in die Zieltabelle einfügen und die gewünschte Angabe in dein neues Feld einfügen. Du müßtest also die Abfrage mehrmals ausführen und modifizieren (was die Ursprungstabelle angeht)
Wenn es Einzeltabellen sind würde ich ein ähnliches Verfahren wählen, nämlich eine Aktualisierungsabfrage, damit kannst Du in der jeweiligen Zieltabelle ein Feld mit einem bestimmten Wert ausfüllen. Beispielsweise mit der Bedingung wenn das Feld NULL ist den Eintrag db1 einfügen.
Ist im Prinzip eigentlich beides recht easy, deshalb geh ich nicht zu sehr in Detail.
Vielleicht hat natürlich jemand anders bessere Vorschläge oder eine elegantere Lösung.
Gruß
klausinger
Antwort 2 von Armin Pühringer
... ich würde schon beim einlesen die daten aus den import tabellen durch VBA code mit dem jeweiligen wert für das neue feld versehen ... den absatz "mit standardwert ..." habe ich überhaupt nicht begriffen ...
cu all
cu all
Antwort 3 von raben.lazarus
ja, is bestimmt leicht. aber mit access ist es heut meine premiere ;-)
und mir stehen erst morgen bücher zur verfügung :-(
ich denke dein zweiter vorschlag ist für mich genau das richtige...
aktualisierungsabfrage .. das probier ich mal aus..
und mir stehen erst morgen bücher zur verfügung :-(
ich denke dein zweiter vorschlag ist für mich genau das richtige...
aktualisierungsabfrage .. das probier ich mal aus..
Antwort 4 von klausinger
Zur genaueren Erklärung:
Ich gehe jetzt mal davon aus, das alle Daten in einer Tabelle aus der gleichen Quelle stammen, falls nein, korrigier mich bitte.
Du fügst in die Tabelle das neue Feld ein; zb mit dem Namen Herkunft Typ Text Größe 5 oder was weiß ich.
Dann erstellst Du eine neue Abfrage (ruhig mit dem Auswahlabfrageassistent) als Quelle natürlich die Tabelle und wählst nur das neue Feld aus und öffnest die Abfrage in der Entwurfsansicht.
Dann änderst Du den Abfragetyp auf Aktualisierungsabfrage (z.b. über Menü Abfrage) und gibst nun bei AKTUALISIEREN den Wert ein, der nun in ALLEN Datensätzen stehen soll. Falls in diesem Feld schon Werte stehen und DU nur diejenigen ergänzen willst, die leer siu als Kriterium Ist Null (also leer) ein. Falls Du nur dann das Feld füllen willst, wenn in einem anderen Feld ein bestimmter Wert drin steht, mußt DU in die Abfrage dieses Feld einbauen und eintsprechend filtern. Also z.b. Feld A mit Kriterium "1" oder zwischen 10 und 100 oder so. DU verstehst?
Gruß klausinger
Ich gehe jetzt mal davon aus, das alle Daten in einer Tabelle aus der gleichen Quelle stammen, falls nein, korrigier mich bitte.
Du fügst in die Tabelle das neue Feld ein; zb mit dem Namen Herkunft Typ Text Größe 5 oder was weiß ich.
Dann erstellst Du eine neue Abfrage (ruhig mit dem Auswahlabfrageassistent) als Quelle natürlich die Tabelle und wählst nur das neue Feld aus und öffnest die Abfrage in der Entwurfsansicht.
Dann änderst Du den Abfragetyp auf Aktualisierungsabfrage (z.b. über Menü Abfrage) und gibst nun bei AKTUALISIEREN den Wert ein, der nun in ALLEN Datensätzen stehen soll. Falls in diesem Feld schon Werte stehen und DU nur diejenigen ergänzen willst, die leer siu als Kriterium Ist Null (also leer) ein. Falls Du nur dann das Feld füllen willst, wenn in einem anderen Feld ein bestimmter Wert drin steht, mußt DU in die Abfrage dieses Feld einbauen und eintsprechend filtern. Also z.b. Feld A mit Kriterium "1" oder zwischen 10 und 100 oder so. DU verstehst?
Gruß klausinger
Antwort 5 von raben.lazarus
es ist die aktualisierungsabfrage, das ist genau das was ich brauchte danke..
wenn das feld leer ist schreibe "db1"..
sorry ich hab mich bestimmt etwas unglücklich ausgedrückt ;-)
falls du den aktualisierungs syntax noch zur hand hast, wär ich (bis zur nächsten frage) wunschlos glücklich..
ich habs eben mit
"if null"="db1" probiert aber dat get nit, naja find ich aber noch heraus..thx
wenn das feld leer ist schreibe "db1"..
sorry ich hab mich bestimmt etwas unglücklich ausgedrückt ;-)
falls du den aktualisierungs syntax noch zur hand hast, wär ich (bis zur nächsten frage) wunschlos glücklich..
ich habs eben mit
"if null"="db1" probiert aber dat get nit, naja find ich aber noch heraus..thx
Antwort 6 von raben.lazarus
ups, sorry man brauuch ja nit mal syntax nur "db1"...
;-)
perfekt, thx
;-)
perfekt, thx
Antwort 7 von klausinger
Bei Anfügen
"DB1" (Stricherl macht Access automatisch ...)
Bei Kriterium einfach nur
Ist Null
ohne Anführungsstricherl (mit wäre Suche nach dem Ausdruck "ist null")
Dann Ausführen, es kommt die Sicherheitsabfrage " sie wollen soundsoviele Datensätze aktualisieren "
Da bist Du natürlich sicher und schon funzt dat janze.
tschausn klausinger
"DB1" (Stricherl macht Access automatisch ...)
Bei Kriterium einfach nur
Ist Null
ohne Anführungsstricherl (mit wäre Suche nach dem Ausdruck "ist null")
Dann Ausführen, es kommt die Sicherheitsabfrage " sie wollen soundsoviele Datensätze aktualisieren "
Da bist Du natürlich sicher und schon funzt dat janze.
tschausn klausinger
Antwort 8 von klausinger
Meine Antworten dauern immer ewig, bis sie gespeichert werden, genauso wie die Seitenaufrufe. Drum kam die letzte Antwort nach der Erfolgsmeldung ...
Zur Erläuterung:
Das Kriterium IST NULL ist nur für den Fall gedacht, falls schon Werte drin stehen die keinesfalls überschrieben werden dürfen. Mann könnte auf diese Tour auch schon vorhandene Werte bequem ändern, z.b. aus db1 db10 machen.
Aber wenns nun eh schon geklappt hat, ists ja gut ....
Gruß klausinger
Zur Erläuterung:
Das Kriterium IST NULL ist nur für den Fall gedacht, falls schon Werte drin stehen die keinesfalls überschrieben werden dürfen. Mann könnte auf diese Tour auch schon vorhandene Werte bequem ändern, z.b. aus db1 db10 machen.
Aber wenns nun eh schon geklappt hat, ists ja gut ....
Gruß klausinger
Antwort 9 von raben.lazarus
jo, thx nochmal

