Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

DomWert und Kombinationsfeld

Begonnen von nozui, Juni 20, 2013, 08:11:21

⏪ vorheriges - nächstes ⏩

nozui

Hallo zusammen,

für die Schule muss ich eine Acess-Datenbank erstellen. Es ist eine Datenbank für ein Krankenhaus: Medikamente, Patienten, Ärzte etc...
Generell ist auch schon alles fertig. Nun bin ich gestern beim rumsuchen auf ein paar nette Ideen gestoßen, die ich gerne in meinem Formular einbauen möchte.
An einigen Stellen bin ich leider nun am Verzweifeln. Ich hab schon viel rumgesucht, aber irgendwie fällt der Groschen nicht.

Ich hoffe ihr könnt mir helfen.

Problem 1:
Ich habe ein Formlar für Rezepte. Der Primärschlüssel ist dabei einfach ein AutoWert.
Diesen will ich ich einem DropDown Feld auswählen lassen und der ausgewählte Wert wird dann in das entsprechende Textfeld übernommen.
Das selbe Prinzip habe ich schon bei einem anderen Formular über den Assistenten gemacht und da funktioniert es prima.
Nur hier kann im DropDown Feld nichts ausgewählt werden
Was könnte helfen oder was habe ich falsch gemacht?

Problem 2:
Es wird ein Medikament wie oben beschrieben ausgewählt. Die bezeichnung besteht aus zwei Buchstaben und 2 Zahlen. Nun sagt das ja nicht viel aus. Deswegen möchte ich dann die Beschreibung die in der Datenbank erfasst ist, anzeigen lassen. Das genrelle Prinzip habe ich mir aus dem Internet rausgesucht.

Folgendes habe ich beim Steuerelement eingetragen:

=Nz(DomWert("[Beschreibung]";"Medikament";"[Medikament] = " & Nz([Medikament];0));"---")

Tabelle: Medikament
Primärschlüssel: Medikament
Spalte: Beschreibung

Ist es ein Problem, dass die Tabelle und der Schlüssel gleich heißen?
AUch hier wundert mich wieder, dass es bei einem anderen Feld in diesem Formular wunderbar funktioniert.
Dort trägt man allerdings die Personalnummer in ein Textfeld und in anderen Feldern erscheint das der Name und die Abteilung des Arztes.
Das verwirrt mich :D ;)

Ich hoffe, dass mir jemand einen Tip geben kann, woran das ganze liegt.
Falls etwas nicht verständlich ist, dann sagt mir bitte Bescheid, dann versuche ich das nochmal anders zu erklären.

Schonmal vielen Dank für eure Hilfe.

Liebe Grüße

DF6GL

#1
Hallo,


Problem1:  

WAS soll mit dem Kombi ausgewählt werden?  

Wie lautet die Datensatzherkunft des Kombis? (SQL-String, im Fall einer Abfrage deren SQL-String)

Warum " der ausgewählte Wert wird dann in das entsprechende Textfeld übernommen"?  
Wenn das Kombi an das entspr. Schlüsselfeld in der Tabelle (auf der das Form basiert) gebunden wird, braucht es keine Zuweisung.



Problem2:

Statt Domwert kann gleich die Bezeichnung in der Kombifeld-Liste mit aufgenommen werden und die entspr. Spalte  einem Textfeld zugewiesen werden:


Datensatzherkunft des Kombis ("cmbMedikament"):
Select Medikament, Bezeichnung, Beschreibung from Medikament




Steuerelementinhalt des weiteren Textfeldes ("txtBeschreibung"):
=cmbMedikament.Column(2)




Grundsätzlich wäre es von Vorteil, eindeutig definierte Namen für die einzelnen Objekte zu vergeben, z. B.:


tblMedikamente
MedID
Med_Bezeichnung
Med_Beschreibung
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

nozui

Hallo,

vielen Dank für deine Hilfe und den Hinweis zu den definierten Namen. :-)
Das zweite Problem ist gelöst.

Zum ersten:
Auszuwählen ist eine Vorgangsnummer. Herkunft ist SELECT [Rezept].[RezeptNr] FROM Rezept;
Und ich dachte, dass der Wert dann in ein Textfeld überführt werden muss, damit man dann ggf. einen neuen Vorgang anlegen kann.
Ich habe jetzt das Feld nur als Kombinationsfeld hinzugefügt - es lassen sich aber dann keine neuen Datensätze anlegen.

Und je nach schon vorhandener Vorgangsnummer ändern sich ja weitere Daten im Formular.
Wenn ich jetzt aber bspw. 20 auswähle und dann sehe, dass es gar nicht der Vorgang ist, den ich meine und dann über das Kombinationsfeld die 22 anklicke, ändern sich die anderen Daten nicht nochmal.

Viele Grüße

DF6GL

Hallo,

ich  verstehe nicht.... ???

Welche "Vorgangsnummer" soll im Form "frmRezept" ausgewählt werden?

Im SQL-String erhältst Du nur die RezeptNr... (ob das jetzt auch die "Vorgangsnummer" , bzw. der Primärschlüssel ist, ist unklar9

Wenn der Primärschlüssel in "tblRezepte" ein Autowert(Feld) ist, dann braucht man (dafür)  gar nichts auszuwählen, wenn ein neuer Datensatz (ein neues Rezept) angelegt werden soll. "Autowert" sagt ja schon, dass der (neue) Wert automatisch erzeugt (und auch gespeichert) wird.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

nozui

Hallo,

nochmals danke für die Hilfe :-)
Jetzt funktioniert alles.

Liebe Grüße