collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 49
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 0

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13953
  • stats Beiträge insgesamt: 66359
  • stats Themen insgesamt: 8942
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Über Kombinationsfeld Wert in Textfeld ausgeben  (Gelesen 1151 mal)

Offline Pascal K

  • Newbie
  • Beiträge: 4
Über Kombinationsfeld Wert in Textfeld ausgeben
« am: März 11, 2018, 14:43:07 »
Hallo Zusammen :)

Seit 3 Tagen tüftle ich an einem Problem. Ich möchte durch Auswahl eines Wertes im Kombinationsfeld einen Wert in einem Textfeld ausgeben.

A) Ich habs geschafft, dass er einen Wert ausgibt, aber leider krieg ich das mit dem Textfeld nicht hin.
B) Er liest mir nur immer die erste Zeile aus. Statt die eine Zeile, die ich mit dem Kombinationsfeld ausgewählt habe.

Hier der Code:
Sub kombinationsfeld0_AfterUpdate()
Dim rcsStr As Recordset
Dim rcsPlz As Recordset
Dim rcsOrt As Recordset

Dim db As Database
Set db = CurrentDb

Set rcsStr = db.OpenRecordset("tbl_bhfadr")
Set rcsPlz = db.OpenRecordset("tbl_bhfadr")
Set rcsOrt = db.OpenRecordset("tbl_bhfadr")

Debug.Print rcsStr.Fields("Strasse").Value
Debug.Print rcsStr.Fields("PLZ").Value
Debug.Print rcsStr.Fields("Ort").Value

End Sub


Vielen Dank für eure Hilfe :)

Lg
Pascal
 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7268
Re: Über Kombinationsfeld Wert in Textfeld ausgeben
« Antwort #1 am: März 11, 2018, 14:54:23 »
Hallo,
das dürfte komplett überflüssig sein. Werte die zu einem Kombifeld (das der Auswahl dient) holt man sich einfach über eine Abfrage mit beiden Tabellen.
Erkläre mal genauer was Du dann im Textfeld anzeigen willst. Und was das Kombi anzeigt bzw. auswählt.
Und zeige mal ein Bild des Beziehungsfensters.
Gruß
Klaus
 

Offline Pascal K

  • Newbie
  • Beiträge: 4
Re: Über Kombinationsfeld Wert in Textfeld ausgeben
« Antwort #2 am: März 11, 2018, 16:16:53 »
Erstmal vielen Dank für die schnelle Antwort :)

Also: Ich habe nur eine Tabelle erstellt und möchte die Daten in einem Formular wiedergeben. Und beim wechsel in ein anderes Register werden dann Daten einer anderen Tab angezeigt. Zum besseren Verständnis habe ich Screenshot mit Angehängt.

Lg
Pascal
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23319
Re: Über Kombinationsfeld Wert in Textfeld ausgeben
« Antwort #3 am: März 11, 2018, 16:38:37 »
Hallo,

für mich sprichst Du etwas in Rätseln...

Was genau willst denn machen?

Ich interpretiere aber, dass im Einzel-Formular (ist das ein Unterformular?)  unter dem ersten Reiter die Adressdaten angezeigt werden sollen, die auf der 2. Seite (ist das (auch) ein Unterformular?) als aktueller DS ausgewählt sind?

Beschreibe mal die Konstellation genauer (wie heißen die Steuerelemente, sind es UFOs und an was sind die Formulare gebunden, wie lauten die SQL-Strings für das Kombi und wie lauten die Primärschlüssel-Feldnamen).


Evtl. sollen auch auf der Seite Main diejenigen Werte der Adresse angezeigt werden, die mit dem Kombifeld (darüber) ausgewählt wird und sofern es sich um ein ungebundenes Form, bzw. ungebundene Textfelder handelt.

Dann lautet der SQL-String für das Kombi ("cmbAdresse") so:

Datensatzherkunft:  Select ID, Bahnhof,Strasse,PLZ,Ort from tbl_Bhfadr order by Bahnhof
gebundene Spalte:1
Spaltenanzahl:  5
Spaltenbreiten:  0cm;3cm;3cm;2cm;3cm


In die Steuerelementinhalte der einzelnen Textfelder kommen diese Ausdrücke:

txtBahnhof :    = cmbAdresse.Column(1)
txtStrasse:      = cmbAdresse.Column(2)
usw.
.
.

Wo da nun "Bewirtschafter" herkommen soll, erschließt sich mir nicht.

Offline Pascal K

  • Newbie
  • Beiträge: 4
Re: Über Kombinationsfeld Wert in Textfeld ausgeben
« Antwort #4 am: März 11, 2018, 17:33:11 »
ok ich versuch es noch einmal xD

Ich möchte ein Formular mit mehreren Registern. In jedem Register sind andere Textfelder mit anderen Daten. Das  ganze soll von dem Kombifeld abhängen.

Mit dem habe ich es auch hinbekommen
cmd.Adresse.Column(1) etc.aber wenn man viele Textfelder hat wird es mit der Zeit sehr unübersichtlich.

Ich dachte, mit VBA kriegt man das schöner hin.

Zum besseren Verständnis habe ich die DB auf die Dropbox hochgeladen https://www.dropbox.com/s/vxuqyspa8owqdp9/TestDB.rar?dl=0

 

Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7268
Re: Über Kombinationsfeld Wert in Textfeld ausgeben
« Antwort #5 am: März 11, 2018, 18:24:47 »
Hallo,
die hochgeladene DB trägt leider nicht zum Verständnis bei. Du solltest bitte mal die einzelnen Tabellen erklären und was genau das Kombi machen soll.Auf jeden Fall ist der Code im Modul völlig überflüssig, so etwas braucht man nicht.
Außerdem, eine Datenbank ohne Beziehungen ist ziemlich wertlos.
Und statt den Bahnhof im Klartext zu schreiben, würde man den Bahnhof per Kombi auswählen und nur dessen Primärschlüssel in der anderen Tabelle als Fremdschlüssel speichern.
Die ganze DB ist völlig falsch aufgebaut.
Aber für Verbesserungsvorschläge solltest Du erst mal die Aufgabe der DB besser beschreiben und die Zusammenhänge.
Wieso gibt es z.B. das Feld Bahnhof in der Tabelle "tbl_bewirtsch" und in der Tabelle "tbl_Heizung"
« Letzte Änderung: März 11, 2018, 18:34:11 von MzKlMu »
Gruß
Klaus
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1779
Re: Über Kombinationsfeld Wert in Textfeld ausgeben
« Antwort #6 am: März 11, 2018, 18:28:29 »
Hallo Pascal,
Schau dir dieses an.
 - Schlüsselfelder umbenannt bzw. angelegt
 - Beziehungen eingerichtet
 - Formular angepasst
    - DS-Herkunft eingetragen
    - Kombi "cboBahnhof" angepasst; - Auswahl setzt Form-Filter
    - Textfeld "Bewirtsch." zu Kombi "cboBW" geändert, DS-Herkunft und
       Steuerelementinhalt auf den FK "BWID_F" gesetzt.
Dies alles auf Grund der vorhandenen Tabellen und gegebenen Infos; -
Fehler also nicht ausgeschlossen.
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23319
Re: Über Kombinationsfeld Wert in Textfeld ausgeben
« Antwort #7 am: März 11, 2018, 18:50:11 »
Hallo,

anbei ein Vorschlag

Offline Pascal K

  • Newbie
  • Beiträge: 4
Re: Über Kombinationsfeld Wert in Textfeld ausgeben
« Antwort #8 am: März 11, 2018, 19:03:22 »
Da hab ich wiedermal viiiiel zu weit gedacht :-X

Die Datenbank ist dafür da um technischen Daten unseren Betreuten Objekten zu erfassen/bearbeiten. Um die DB übersichtlich zu halten wollte ich alles über das Kombofeld "steuern". In den verschiedenen Registern sollen die Daten die man braucht stehen (Adresse, Rechnungsadresse, Heizung, Wassererwärmer, Lüftung). Wenn ein Objekt zum Beispiel keine Lüftung hat, sollte auch das Register Lüftung nicht angezeigt werden.
Es ist immer ein Bewirtschafter für mehrere Objekte zuständig. Wenn ich ein Objekt im Kombofeld auswähle, soll er im Textfeld Bewirtschafter, automatisch den in der Tabelle zugewiesenen Bewirtschafter anzeigen.

Vielen Dank Ekkehard ungefähr so hab ich mir es vorgestellt. Ich hoffe ich kann es nachvollziehen xD
Und ich bitte vielmals um Entschuldigung, bin leider noch Anfänger :(
lg
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23319
Re: Über Kombinationsfeld Wert in Textfeld ausgeben
« Antwort #9 am: März 11, 2018, 19:13:03 »
Hallo,


schau mal meinen Vorschlag an. 

Darin hat ein Bahnhof einen Bewirtschafter und eine Heizung.  Für einen anderen Bahnhof kann der selbe Bewirtschafter zugeordnet werden. wie auch der gleiche Heizung(styp).  Dabei ist aber evtl. zu berücksichtigen (auszuschließen), dass die selbe Seriennummer verwendet wird, soll heißen, solche spezifischen Felder sind noch umzubauen.

Für die anderen Betriebstechniken (Lüftung, Warmwasser)  fehlen die Tabellen, bzw. für solche Konstellationen ist der Tabellenaufbau anders zu gestalten.



Offline MzKlMu

  • Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 7268
Re: Über Kombinationsfeld Wert in Textfeld ausgeben
« Antwort #10 am: März 11, 2018, 19:16:14 »
Hallo,
Zitat
Wenn ein Objekt zum Beispiel keine Lüftung hat, sollte auch das Register Lüftung nicht angezeigt werden.
Dann ist ein ganz anderer Aufbau erforderlich.
Es wird eine Tabelle benötigt zur Zuordnung von Objekten zur Bauteilen.
Das ist eine n:m Beziehung. Nur dann kannst Du sicherstellen, dass zu einem Objekt auch keine Lüftung gewählt werden kann, wenn diese dort nicht vorhanden ist.
Der Tabellenname tbl_Heizung lässt auch darauf schließen, dass Du dann eine Tabelle machst tbl_Lüftung was natürlich dann falsch wäre.
Die Struktur der Datenbank sollte so aufgebaut werden, dass für ein neues Bauteil z.B. keine Änderungen an der Struktur notwendig sind.
Register oder so braucht es da nicht.

Der ganze Aufbau sollte noch mal gründlich überdacht werden, bevor man mit Formularen und Kombifeldern beginnt.
Gruß
Klaus
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1779
Re: Über Kombinationsfeld Wert in Textfeld ausgeben
« Antwort #11 am: März 12, 2018, 15:45:51 »
@Franz
Zitat
Darin hat ein Bahnhof einen Bewirtschafter und eine Heizung.  Für einen anderen Bahnhof kann der selbe Bewirtschafter zugeordnet werden. wie auch der gleiche Heizung(styp). 
Bist du sicher? Ein Typ hat IMO keine Seriennr., - eine Typtabelle sollte
angelegt werden, und das Feld "Systemtyp..." entsprechend zu einem
FK-Feld geändert werden.
Eine Seriennr. ist für mich aber auch eindeutig, also kann doch eine
Anlage nur in einem Bahnhof installiert sein. Die "HeizID_f" müsste
dann einen eindeutigen Index erhalten, - oder nicht?
gruss ekkehard
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23319
Re: Über Kombinationsfeld Wert in Textfeld ausgeben
« Antwort #12 am: März 12, 2018, 20:57:06 »
Hallo,

ja, das stimmt,  deshalb habe ich vorher auch auf die Seriennummernproblematik und einen angepassten Tabellenaufbau hingewiesen.

Das ganze Projekt bedarf einer gründlicher(en) Datenanalyse...



Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1779
Re: Über Kombinationsfeld Wert in Textfeld ausgeben
« Antwort #13 am: März 13, 2018, 15:20:10 »
@Franz,
Danke für Bestätigung.
Zitat
Das ganze Projekt bedarf einer gründlicher(en) Datenanalyse...
d'accor
--
Beaker s.a., der lieber an seinem eigenen Projekt arbeiten würde/sollte, aber irgendwie immer gerne seinen Senf dazu gibt ;-)
S.M.I².L.E.
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23319
Re: Über Kombinationsfeld Wert in Textfeld ausgeben
« Antwort #14 am: März 13, 2018, 16:48:38 »
wenn schon denn schon:

 d'accord    :-X :-*