collapse

* Benutzer Info

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

* Wer ist Online

  • Punkt Gäste: 56
  • Punkt Versteckte: 0
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13700
  • stats Beiträge insgesamt: 62191
  • stats Themen insgesamt: 8474
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 16
  • stats Am meisten online: 415

Autor Thema: Bei neuem Datensatz soll in einem CombiFeld im Ufo Standardwert übernehmen...  (Gelesen 708 mal)

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 506
    • Quartettportal
Hallo,
ich habe das in einem normalen Formular mit eurer Hilfe zwar hinbekommen, aber im Ufo geht dieser Lösungsansatz über Standardwert und Eintrag der ID nicht. Wenn ich das so mache, dann fügt er an alle Datensätze das hinzu. Es soll ja nur bei neuen Datensätzen schon drin stehen bzw ausgewählt sein.
Also versuchte ich es mit VBA, hatte dann aber schon das Problem damit, an welches Ereignis ich das hänge :(. Ich nahm dann Vor Aktualisierung und versuchte mit Me.NewRecord das ganze zu lösen, was aber nicht half.
Private Sub cboZusatzKartenArt_BeforeUpdate(Cancel As Integer)
    If Me.NewRecord Then
'     Me.cboZusatzKartenArt = 39
     Me.ZusatzKartenArtID_F = 39
    End If
End Sub
Ich habe es sowohl über das Kombi versucht als auch über das FK Feld, jedoch ohne Lösung des Problemes.
Was mache ich falsch bzw. muss ich es anders machen?

Gruß Andreas
Grüße und Dank im voraus
Andreas
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 22990
Hallo,

der "Standardwert" wirkt sich eh nur bei "neuen" Datensätzen aus, sofern das Kombi denn gebunden ist.

Es ist eher das Problem WANN (zu welchem Zeitpunkt) die Eigenschaft "Standardwert" des Kombis gesetzt werden könnte und WOHER der Standardwert stammt.

Offline hansdampf8

  • Newbie
  • Beiträge: 46
Hallo!

Ich bin zwar blutiger Anfänger aber vielleicht hilft es dir.
Habe mal ein ähnliches Problem gehabt und musste einem neuen Datensatz ein Wert aus einem Kombi zuweisen.
Bei Eingabe der neuen Daten habe ich dem dritten Feld die Ereignisprozedur Bei Fokuserhalt gegeben.

Private Sub txtNachname_GotFocus()
Me.IDFirmaValue = Me.cbo_Firmenauswahl
End Sub


Dem dritten Feld damit der Wert erst bei wirklicher Eingabe vergeben wird und nicht bei Fokuserhalt des PK bz. neuen Datensatzes.

Gruß Hans
 

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 506
    • Quartettportal
Hallo Franz,
der "Standardwert" wirkt sich eh nur bei "neuen" Datensätzen aus, sofern das Kombi denn gebunden ist.
Es ist eher das Problem WANN (zu welchem Zeitpunkt) die Eigenschaft "Standardwert" des Kombis gesetzt werden könnte und WOHER der Standardwert stammt.
Das Ufo hat als Datensatzquelle tblZusatzKartenArtZuSpiel. Auf dem Kombi ist ein select
SELECT tblZusatzKartenArt.ZusatzKartenArtID,
       tblZusatzKartenArt.ZusatzKartenArt,
       tblZusatzKartenArt.VerlagID_F,
       tblVerlag.VerlagID
FROM tblVerlag
INNER JOIN tblZusatzKartenArt ON tblVerlag.VerlagID = tblZusatzKartenArt.VerlagID_F
WHERE (((tblZusatzKartenArt.VerlagID_F)=[Formulare]![frmErfassung]![cboIDVerlag]))
  OR (((tblVerlag.VerlagID)=0))
  OR (((tblVerlag.VerlagID)=12))
  OR (((tblVerlag.VerlagID)=2))
ORDER BY tblZusatzKartenArt.ZusatzKartenArt;
Der Standardwert selbst kommt aus tblZusatzKartenArt. Das bedeutet, ich kann das Standardwertfeld nutzen, muss aber das ganze so gestalten:
Standardwert =[tblZusatzKartenArt]![ZusatzKartenArtID](39)Das habe ich jetzt so mal gemacht, hatte jedoch keinerlei Wirkung, aber auch keinen Fehler.

Gruß Andreas
Grüße und Dank im voraus
Andreas
 

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 506
    • Quartettportal
Hi,
was die blutigen Anfänger angeht, da sind wir dann schon zu zweit  :-\.
Habe mal ein ähnliches Problem gehabt und musste einem neuen Datensatz ein Wert aus einem Kombi zuweisen.
Bei Eingabe der neuen Daten habe ich dem dritten Feld die Ereignisprozedur Bei Fokuserhalt gegeben.
Private Sub txtNachname_GotFocus()
Me.IDFirmaValue = Me.cbo_Firmenauswahl
End Sub

Dem dritten Feld damit der Wert erst bei wirklicher Eingabe vergeben wird und nicht bei Fokuserhalt des PK bz. neuen Datensatzes.
Da passiert dann ja etwas, wenn das Feld den Focus erhält. Ich will schon, dass es beim öffnen des Formulares für einen neuen Datensatz schon ausgewählt ist. Passt also nicht ganz zu dem was ich gerne hätte. Aber trotzdem danke für die Anregung.

Gruß Andreas
Grüße und Dank im voraus
Andreas
 
Folgende Mitglieder bedankten sich: hansdampf8

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 22990
Bei neuem DS soll in einem CombiFeld im Ufo Standardwert übernehmen
« Antwort #5 am: Juli 22, 2017, 15:15:50 »
Hallo,

wenn ich es recht verstehe, soll beim Laden des Forms der Wert  39  als Standardwert dem Komnbi zugewiesen werden ....  Richtig?

Im (Unter)Formular:

Sub Form_Load()
Me!cboZusatzKartenArt.Defaultvalue = 39
End Sub

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 506
    • Quartettportal
Hallo,
wenn ich es recht verstehe, soll beim Laden des Forms der Wert  39  als Standardwert dem Komnbi zugewiesen werden ....  Richtig?
Im (Unter)Formular:
Sub Form_Load()
Me!cboZusatzKartenArt.Defaultvalue = 39
End Sub
Grundsätzlich, ja Franz, aber nur bei neuen Datensätzen. Dein Lösungsansatz befüllt jetzt aber neue und alle schon bestehenden Datensätze ebenfalls mit dem vorgegebenen Value. Ändert man den ab, dann fügt er den Default Value gleich wieder hinzu. Er lässt sich also auch nicht mehr ersetzen :(, siehe bild 1+2. Das soll natürlich nicht passieren.

Gruß Andreas
Grüße und Dank im voraus
Andreas
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 22990
Hallo,

nein, das ist nicht richtig....   Der DefaultValue wirkt sich nur bei neuen DS aus, sofern das Feld gebunden ist.  Wenn es nicht gebunden ist und ein Endlosform verwendet wird, gibt es für das Feld keinen (alten oder neuen) Datensatz, demzufolge erscheint der DefaultValue in jedem sichtbaren Feld im Endlosform.  Die mehrfach sichtbaren Text/Kombifelder sind lediglich statische Kopien  eines einzelnen ungebundenen Feldes in den einzelnen Datensätzen .

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 506
    • Quartettportal
Hallo Franz,
Hallo,
nein, das ist nicht richtig....   Der DefaultValue wirkt sich nur bei neuen DS aus, sofern das Feld gebunden ist.  Wenn es nicht gebunden ist und ein Endlosform verwendet wird, gibt es für das Feld keinen (alten oder neuen) Datensatz, demzufolge erscheint der DefaultValue in jedem sichtbaren Feld im Endlosform.  Die mehrfach sichtbaren Text/Kombifelder sind lediglich statische Kopien  eines einzelnen ungebundenen Feldes in den einzelnen Datensätzen .
das bedeutet für mich, dass ich hier keinen Wert vordefinieren kann, da ich wie du festgestellt hast ein Endlosformular nutze und das cbo somit nicht gebunden ist. Okay, da habe ich jetzt wohl was dazu gelernt und akzeptiere das so, oder kann man das ganze dann doch irgendwie mit VBA lösen?

Gruß Andreas
Grüße und Dank im voraus
Andreas
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 22990
Hallo,

Zitat
...ein Endlosformular nutze und das cbo somit nicht gebunden ist

Genau genommen ist das falsch.  Die Bindung eines Steuerelementes an die Datenherkunft hat nichts mit einem Endlos- oder Einzelformular zu tun. Das cbo wäre gebunden, wenn es einen Eintrag (Feldnamen) in seiner Eigenschaft "Steuerelementinhalt" hat.


Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 506
    • Quartettportal
Hi Franz,
Hallo,
Zitat
...ein Endlosformular nutze und das cbo somit nicht gebunden ist
Genau genommen ist das falsch.  Die Bindung eines Steuerelementes an die Datenherkunft hat nichts mit einem Endlos- oder Einzelformular zu tun. Das cbo wäre gebunden, wenn es einen Eintrag (Feldnamen) in seiner Eigenschaft "Steuerelementinhalt" hat.
Ich war der Meinung, dass ich es im Thread mitgeteilt hatte, dass das cboZusatzKartenArt sehr wohl als Steuerelementinhalt ZusatzKartenArtID_F hat. Demnach ist es ja gebunden und somit sollte es sich ja nach deiner vorherigen Aussage auch lösen lassen, oder?

Gruß Andreas
Grüße und Dank im voraus
Andreas
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 22990
Hallo,

ja, es gilt das vorher Gesagte...

Insofern kann es nicht sein, dass die Zuweisung des Standardwertes an das Kombi Datenänderung in der Tabelle zur Folge hat.

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 506
    • Quartettportal
Hi,
Insofern kann es nicht sein, dass die Zuweisung des Standardwertes an das Kombi Datenänderung in der Tabelle zur Folge hat.
okay, aber wie gehe ich dann beim Troubleshoothing vor, da ich ja in meinem Fall ein nicht unbedingte normales Verhalten habe?

Gruß Andreas
Grüße und Dank im voraus
Andreas
 

Offline Lachtaube

  • Access-Meister
  • ***
  • Beiträge: 728
Anfreas, gut denkbar wäre, dass Code (vermutlich im Formular) anweist, einen Wert in das Kombifeld zu schreiben.
Grüße von der (⌒▽⌒)
 

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 506
    • Quartettportal
Hallo,
Anfreas, gut denkbar wäre, dass Code (vermutlich im Formular) anweist, einen Wert in das Kombifeld zu schreiben.
du meinst, dass aktuell "etwas" integriert ist, was dieses aktuelle Verhalten erklärt? Dann müsste ich ja im VBA Teil des Ufo und des HF, wo das UFO sich befindet mal suchen :(. Das wäre ja peinlich. Oder verstehe ich dich falsch?

Gruß Andreas
Grüße und Dank im voraus
Andreas