hi,
bin in access nicht mehr ganz gut bewandert und kenn mich mit den begriffen auch nicht so aus.. deshalb hat die sufu auch nichts gebracht, da ich nicht genau wusste was ich eingeben soll/kann.
mein problem ist, dass ich für eine spalte einen nachschlageassistenten erstellt hab den ich wieder entfernen möchte ohne aber die daten in der spalte zu verlieren.
geht das? bzw. wie geht das?
verwende ich auch das richtige wort? wenn ich in einer spalte mehrere vorschläge bekomme was ich in die spalte eintippe... aber keine anderen eintippen kann.. dann ist das ein nachschlageassistent... richtig?^^
bin schon am verzweifeln und hoffe auf schnelle antworten
danke dominic
Hallo,
mache einfach wieder im Tabellenetwurf ein Textfeld draus. Der Inhalt bleibt erhalten, aber nur der Fremdschlüssel aber der reicht. Lege dann im Beziehungsfenster die Beziehung an und erstelle eine Abfrage mit beiden Tabellen. Dann hast Du alle Felder im Klartext.
Zur Ergänzung, falls du wirklich nich mehr so fit sein solltest, wäre vielleicht noch zu sagen, dass das Fremdschlüsselfeld und das zugehörige Primärschlüsselfeld den selben Datentyp haben müssen.
In deinem Fall beides Zahlen. Aber nicht verwirrt sein. Ein Autowert ist eine Zahl vom Typ Long.
Gruß, Jörn
erklährt mir das bitte mal in einzelnen schritten..
wenn ich das in ein textfeld ändere, dann macht er genau das was ich nicht möchte... er ändert das was ich mit dem assistenten geschrieben habe in zahlen um.
Das ist auch richtig so. Das sind die FremdID´s
Um auf die Inhalte zugreifen zu können musst du nun eine Abfrage von deinen beiden Tabellen erstellen. Dann hast du Zugriff auf den klartext.
Gruß, Jörn
also .. ich ändere das in ein textfeld.. dann stehen da zahlen..
und dann soll ich eine abfrage starten bei der ich die spalte mit dem primärschlüssel und die, die ich geändert habe nehme?
wenn ich das mache ändert das nichts
Naja in deinem Datenmodell hast du doch bestimmt eine Beziehung angelegt. Und nun erstellst du eine Abfrage mit deiner Tabelle die den Fremdschlüssel enthält und mit deiner "Haupttabelle"
nein ich habe keine beziehung angelegt...
eine einfache tabelle in der ich bei einer spalte einen nachschlageassistenten installiert habe um nicht immer die gleichen sachen ausschreiben zu müssen
Hallo,
und wo kommen die Werte in der Nachschlagespalte her?
Wenn du keine Beziehungen angelegt hast, dann hast du kein ordentliches Datenmodell.
Google nach dem Begriff, denn das ist die wichtigste Grundlage einer Datenbank!
Zitat von: MzKlMu am Juni 10, 2010, 08:56:29
Hallo,
und wo kommen die Werte in der Nachschlagespalte her?
kommen aus der spalte wo der nachschlageasistent ist
Hallo,
Zitatkommen aus der spalte wo der nachschlageasistent ist
Das ist mir schon klar, wo sollen die sonst herkommen.
Aber
wie sind die da reingekommen?
Als Werteliste oder als Tabelle?
Hast Du die Werteliste gefüllt?
Wieviele Werte sind das denn?
Kannst Du nicht eine kleine DB erstellen, mit der Nachschlagespalte und diese hier hochladen.
Da ist das Problem in 5 Minuten vom Tisch.
in der entwurfsansicht bei der spalte habe ich auf nachschlageassistent gestellt und die werte aus der liste genommen
Hallo,
aus welcher Liste?
Die Liste muss doch irgenwo herkommen. Die steht ja nicht von alleine da drin. Wenn man auf den Nachschlageassistent geht ist ja die Datenherkunft zunächst mal leer. Siehe Bild.
Kannst Du mal ein vergleichbares Bild hier hochladen mit der bei Dir vorhandenen Tabelle?
[Anhang gelöscht durch Administrator]
http://yfrog.com/j0problemzlp (http://yfrog.com/j0problemzlp)
Hallo,
Du hast ja dann mindestens 2 Tabellen, die jetztige Tabelle und die Tabelle "Tabelle Strom".
Lösche einfach das Nachschlagefeld und erstelle dann eine Abfrage mit der Tabelle "Tabelle Strom" und der jetzigen Tabelle.
Stelle über die Felde "Interne Auftragsnr" eine Beziehung her. Nimm die gewünschten Felder aus beiden Tabellen auf und exportiere diese Abfrage nach Excel.
Wenn Du nicht klar kommst, lade die DB mit den 2 Tabellen hier hoch.
Hallo,
wie ich das aus der verlinkten Graphik entnehmen kann, referenzierst du das Feld Ex-Anbieter auf sich selbst. Ist zwar möglich aber nicht unbedingt 'das Gelbe vom Ei'
Hier würde ich schon auch irgendwie das Datenmodell unter die Lupe nehmen und ev. eine kleine Korrektur überlegen. :-\
Möchte hierbei aber MzKlMu nicht vorgreifen!
Du verwendest nach dieser Graphik Access 2010
Die *.png - Datei kannst du problemlos auch hier hochladen (unter Erweiterte Optionen...), somit braucht's dann keinen externen Link. ;D
Hallo,
@database
vielen dank, habe ich doch glatt übersehen, kommt wahrscheinlich daher, dass ich dass noch nie so gesehen geschweige dann gemacht habe.
Aber auch das dürfte mit der Abfrage funktionieren. Einfach die Tabelle 2x in die Abfrage aufnehmen und über die "Interne Auftragsnr" eine Beziehung herstellen. Gibt eine 1:1 Beziehung was ja dann passt.
Es dürfte sogar noch einfacher gehen, die gebundene Spalte einfach auf 2 stellen.
hast du die infos die du brauchst?
hab die 2te seite übersehen...^^ also
wieso 2tabellen?
ich habe meines wissens nur eine datei mit einer tabelle...
erklährt mir mal eure lösung schritt für schritt ^^
habe in der entwurfsansicht schon viel probiert... komme aber immer auf den gleichen fehler, nämlich dass er mit die spalte ab dem zeitpunkt ab dem ich den nachschlageassistenten erstellt habe, mir meinen text in zahlen umwandelt
Hallo,
in meinem vorherigen Beitrag sind 2 Vorschläge, probiere mal.
werde es morgen testen und berichten...
bis dahin sag ich danke und gute nacht
Hallo,
habe mich dem Problem Offline angenommen.
Ich kann soviel sagen: Es gibt nur eine Tabelle ohne Formulare, Abfragen etc. Da liegt der Fehler ;)
Alles weitere mache ich mit dem Fragesteller per mail.
Gruß, Jörn
Guten Morgen,
@MzKlMu
Zitatkommt wahrscheinlich daher, dass ich dass noch nie so gesehen geschweige dann gemacht habe
...kein Wunder, ist ja auch keine normalisierte Angelegenheit. :-\
Ich kenne diese Dinge von früher aus dem Oracle-Umfeld, da wird/wurde sowas gerne gemacht - außer einen Anwender zu verwirren sehe ich dabei keinen Vorteil
@blackoutNO
Zitathabe mich dem Problem Offline angenommen
??? ??? ???
ZitatIch kann soviel sagen: Es gibt nur eine Tabelle ohne Formulare, Abfragen etc. Da liegt der Fehler
Was ja aus der Graphik ersichtlich und nicht unbedingt ein Geheimnis war - trotzdem: AHA!
ZitatAlles weitere mache ich mit dem Fragesteller per mail
8)
Wenn es kein allzugroßes Geheimnis ist, solltest du - gemäß den Zielen der Access-o-Mania Gemeinschaft - die Lösung der GESAMTEN Community mitteilen denn es könnte sein, dass auch andere FS in diesem Themengebiet suchen, . ;D
Morgen,
folgendes Problem gab es: Der Fragesteller hatte eine Tabellen mit Kundendaten, die unter anderem deren aktuellen und deren zukünftigen Stromanbieter enthalten. Diese hat man über den erwähnten Nachschlageassistent in die Tabelle eingetragen. Der Nachschlageassistent hatte als rs die ID des Datensatzen, sowie die Spalte mit den aktuellen Anbietern, Somit war es ersten nicht möglich neue Anbieter hinzuzufügen etc. Als der Assistent entfernt wurde standen in den beiden Spalten nurnoch die ID´s der Hauptdatensätze, welche für die Anbieterspalten ja irrelevant sind. Ich hab jetzt eine zweite Tabelle Anbieter angelegt, ein Formular und die Beziehungen erstellt. Wenn der Fragesteller noch Daten hat, wo die Zuordnung stimmt, werde ich diese einarbeiten und ihm eine Abfrage gestalten, die dann den von ihm gewünschten Output nach Excel erledigt.
Gruß, Jörn
Hallo an alle,
folgendes: Es waren nicht in allen Datensätzen die Zahlen statt den Strings enthalten. Ich habe diese Zahlen über eine Abfrage herausgefiltert und eine neue Tabelle tblLook erstellt und dort den Zahlenwerten ihre eigentlichen Namen zugeordnet. Mit diesem Code habe ich dann die Tabelle ohne Nachschlagefelder geupdatet:
Function Updaten()
Dim rst As DAO.Recordset
Dim db As DAO.Database
Dim strOld As String
Dim strNew As String
Set db = CurrentDb
Set rst = db.OpenRecordset("tblStrom")
rst.MoveFirst
Do Until rst.EOF
If IsNumeric(rst!Ex_Anbieter) AND IsNumeric(rst!Zukuenftiger_Anbieter) Then
strOld = DLookup("Wortlaut", "tblLook", "Zahlenwert = " & rst!Ex_Anbieter)
strNew = DLookup("Wortlaut", "tblLook", "Zahlenwert = " & rst!Zukuenftiger_Anbieter)
rst.Edit
rst!Ex_Anbieter = strOld
rst!Zukuenftiger_Anbieter = strNew
rst.Update
End If
rst.MoveNext
Loop
rst.Close
Set db = Nothing
Gruß, Jörn
Hallo,
Wenn du die Originaltabelle 'bereinigt' und ...
ZitatIch hab jetzt eine zweite Tabelle Anbieter angelegt, ein Formular und die Beziehungen erstellt
...die Anbieter in eine neue Tabelle ausgelagert hast - was hast du dann mit dem Code oben bewerkstelligt?
Welchen Sinn hat es eigentlich die Fremdschlüssel nun erst wieder mit Text zu belegen? ???
Ein Tipp:
Verwende Functions nur dann, wenn sie auch einen Rückgabewert haben - Functions sollten IMMER einen Rückgabewert liefern.
Hallo,
das Problem in der Tabelle war, dass es keinerlei Fremdschlüssel gab, sondern mehr ein wildes Datengemetzel. Wichtig war für seinen Fall ja, dass er die Daten wieder ausgeben kann.
Das mit den Funktionen weiß ich, aber hab se ja nur genutzt um den code einma durchlaufen zu lassen und dann wieder gelöscht. deshalb wars eher unerheblich ob da function oder sub steht ;)
Ist etwas kompliziert zu beschreiben, wenn man es nicht gesehen hat und ich denke auch nicht, dass jemand einen Nachschlageassitent für 2 Tabellenspalten nutzt, deren Datensatzherkunft aus eben diesen Spalten kommt. Je nachdem was er mit der "Tabelle", denn mehr ist es eigentlich nicht, noch machen will, werd ich wieder ein relationales Modell einführen.
so.. problem ist hiermit gelöst..
war ein rechtes hin und her^^ und ich denke es währe lang nicht so schnell gegangen wenn jörn sich das nicht angesehen hätte!!!
dank dir nochmal recht herzlich und allen anderen die mit mir versucht haben das problem zu lösen
gruß dominic