collapse

* Benutzer Info

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

* Wer ist Online

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

Es sind keine Mitglieder online.

* Forenstatistik

  • stats Mitglieder insgesamt: 13797
  • stats Beiträge insgesamt: 63470
  • stats Themen insgesamt: 8600
  • 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 1107 mal)

Offline DF6GL

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

naja, irgendwer/-was muss ja den Inhalt (!) ,  nicht den Defaultwert ändern...  Also mal die Form_Open und Form_Load-Ereignisse untersuchen, ob da entspr. Code sein "Unwesen" treibt.  (evtl. die Prozeduren posten).

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 535
    • Quartettportal
Hallo,
einzig das, was sich auch auf das Combi bezieht habe ich in den Ereignissen des Hauptformular gefunden.
Private Sub Form_Current()
    Me!frmErfassungUfoZusatzkarten.Form!cboZusatzKartenArt.Requery
In den anderen Ereignissen (siehe Bild) so schnöde Einträge wie
Private Sub Form_Load()
    Me.txtUser = Environ("USERNAME")
End Sub
Private Sub Form_AfterUpdate()
    Me.Recalc
End Sub
Bei Vor Aktualisierung habe ich nur die Pflichtfeldthematik drinne, die ich hier nicht rein paste (zuviel).
Private Sub Form_AfterDelConfirm(Status As Integer)
    Me.Recalc
End Sub
Private Sub Form_Open(Cancel As Integer)
    DoCmd.Maximize
End Sub
Im Ufo habe ich gar kein Ereignis hinterlegt, Standardwerte abrufen steht auf Ja. Auf dem Combifeld selbst eben nur den Eintrag unter =[tblZusatzKartenArt]![ZusatzKartenArtID](39) (siehe bild2)
Puuhh. Da finde ich so nichts, was dieses Unwesen angeht :(.

Gruß Andreas


Grüße und Dank im voraus
Andreas
 

Offline Beaker s.a.

  • Access Guru
  • ****
  • Beiträge: 1600
Re: Bei neuem Datensatz soll in einem CombiFeld im Ufo Standardwert...
« Antwort #17 am: Juli 22, 2017, 21:59:55 »
Hallo Andreas,
Was ich nicht verstehe, ist dieser Eintrag.
=[tblZusatzKartenArt]![ZusatzKartenArtID](39)Wo (in welcher Eigenschaft) steht das denn?
Wenn der Standardwert (DefaultValue) immer 39 ist, dann reicht es
doch diesen Wert dort einzutragen. Das gebundene Feld steht doch
schon in der Datenherkunft (ControlSource).
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 derilzemer

  • Access-Meister
  • ***
  • Beiträge: 535
    • Quartettportal
Re: Bei neuem Datensatz soll in einem CombiFeld im Ufo Standardwert...
« Antwort #18 am: Juli 22, 2017, 22:43:07 »
Hallo Ekkehard,
Was ich nicht verstehe, ist dieser Eintrag.
=[tblZusatzKartenArt]![ZusatzKartenArtID](39)Wo (in welcher Eigenschaft) steht das denn?
Wenn der Standardwert (DefaultValue) immer 39 ist, dann reicht es
doch diesen Wert dort einzutragen. Das gebundene Feld steht doch
schon in der Datenherkunft (ControlSource).
Den habe ich da eingetragen (bild1)
Das hatte ich ja schon mal zu Anfang gemacht mit nur der 39 einzutragen und in der Einleitung zum Thread so auch beschrieben. Aber auch da trägt er dann eben in allen schon bestehenden Datensätze diesen Defaultwert ein, nicht nur in den neuen! On Top dazu kommt dann, dass wenn ich den dann abändern will, er sich als neuer Datensatz im Endlosformular unten dran wieder dazu gesellt!
Danach habe ich den Eintrag =[tblZusatzKartenArt]![ZusatzKartenArtID](39) auch nach anraten von Franz eingetragen, aber die gleiche Wirkung. Ich scheine in der DB irgendwo einen Fetzen Code zu haben, der dann damit sein Unwesen treibt :(. Eigentlich ist es zum Mäuse melken.
Gruß Andreas
Grüße und Dank im voraus
Andreas
 

Offline DF6GL

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


in der Eigenschaft "Steuerelelentinhalt" des Kombis muss stehen:

ZusatzKartenArtID

In der Eigenschaft "Standardwert" des Kombis muss stehen:

39

Damit wäre das Kombi an das Feld ZusatzKartenArtID an das Tabellenfeld gebunden und der Wert 39  (bzw. der dazu gehörende Text entspr. der ersten sichtbaren Kombilistenfeldspalte) erscheint im Kombi nur bei einem neuen Datensatz.

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 535
    • Quartettportal
Guten Morgen Franz,
in der Eigenschaft "Steuerelelentinhalt" des Kombis muss stehen:
ZusatzKartenArtIDIn der Eigenschaft "Standardwert" des Kombis muss stehen:
39Damit wäre das Kombi an das Feld ZusatzKartenArtID an das Tabellenfeld gebunden und der Wert 39  (bzw. der dazu gehörende Text entspr. der ersten sichtbaren Kombilistenfeldspalte) erscheint im Kombi nur bei einem neuen Datensatz.
das hört sich sinnig an, aber im ersten Moment dachte ich schon und das geht jetzt so einfach  :-[? Vorweg, so löste sich das Problem nicht. Fazit daraus für mich war, ob das Konstrukt diese kleinen Features falsch ist. Deshalb fasse ich es mal so kurz wie es geht hier zusammen. frmErfassungUfoZusatzKarten ist ein Ufo in frmErfassung. Für frmErfassungUfoZusatzKarten sind 2 Tabellen vorhanden, tblZusatzKartenArt (bild1) und tblZusatzKartenArtZuSpiel (bild2).
Dem Ufo liegt als Daten tblZusatzKartenArtZuSpiel zugrunde (bild3). Für cboZusatzKartenArt steht mir im Steuerelementinhalt kein ZusatzkartenArttID zur Verfügung (siehe bild4). Der aktuelle Select dazu sieht ja so aus
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)=2))
  OR (((tblVerlag.VerlagID)=12))
  OR (((tblVerlag.VerlagID)=15))
ORDER BY tblZusatzKartenArt.ZusatzKartenArtID;

Da im Steuerelementinhalt ZusatzKartenArtID als Auswahl nicht zur Verfügung steht, habe ich im Steuerelementinhalt den Eintrag gemacht: =[tblZusatzKartenArt].[ZusatzKartenArtID] und unter Standardwert 39 eingetragen (bild5). Das funktioniert dann nicht mehr, da die Auswahl zwar da ist, aber nichts mehr ausgewählt werden kann (Das Steuerelement kann nicht bearbeitet werden;es ist an den Ausdruck [tblZusatzKartenArt].[ZusatzKartenArtID] gebunden). Wie erreiche ich deine Anforderung?

Gruß Andreas
« Letzte Änderung: Juli 23, 2017, 11:02:25 von derilzemer »
Grüße und Dank im voraus
Andreas
 

Offline Lachtaube

  • Access-Meister
  • ***
  • Beiträge: 850
Ich verstehe zwar den Formularbezug nicht, aber die zweite Tabelle dürfte definitiv in der Abfrage überflüssig sein.
SELECT zusatzkartenartid,
       zusatzkartenart,
       verlagid_f
FROM   TBLZUSATZKARTENART
WHERE  verlagid_f = [forms]![frmrfassung]![cboidverlag] OR
       verlagid_f IN( 0, 2, 12, 15 )
ORDER  BY 1;

PS: mit dem Bilderbuch-Ballast ist übrigens nichts anzufangen - aber das hatte ich ja schon einmal anderer Stelle erwähnt.
Grüße von der (⌒▽⌒)
 

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 535
    • Quartettportal
Hi,
Ich verstehe zwar den Formularbezug nicht, aber die zweite Tabelle dürfte definitiv in der Abfrage überflüssig sein.
SELECT zusatzkartenartid,
       zusatzkartenart,
       verlagid_f
FROM   TBLZUSATZKARTENART
WHERE  verlagid_f = [forms]![frmrfassung]![cboidverlag] OR
       verlagid_f IN( 0, 2, 12, 15 )
ORDER  BY 1;
PS: mit dem Bilderbuch-Ballast ist übrigens nichts anzufangen - aber das hatte ich ja schon einmal anderer Stelle erwähnt.
Ich habe den Codebalast entfernt und nach deiner Angabe angepasst. Aber im Steuerelementinhalt kann ich nach wie vor ZusatzKartenArtID nicht auswählen, wobei doch ZusatzKartenArtID_F den gleichen Part erfüllt, oder etwa nicht?
Das mit den Bildern hast du mir schon gesagt, das stimmt. Es ist also auch kein Argument, dass andere"Newbies" oder Menschen, die mit den Ausdrücken oder oder selects auch nichts anfangen können, mit Bildern zumindest sehen, wovon man redet. Ich werde es adaptieren und nur dann ein Bild anhängen, wenn es verlangt wird.

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

Offline Lachtaube

  • Access-Meister
  • ***
  • Beiträge: 850
Ein Steuerelementinhalt wie =[tblZusatzKartenArt].[ZusatzKartenArtID] verhindert zuverläsig das Überschreiben des Inhalts dur den Anwender.

Andererseits vermisse ich jetzt aber einen Bezug auf das eigentlich Problem, dass Datensätze von Geisterhand ändern - oder ist das bereits abgestellt?
Grüße von der (⌒▽⌒)
 

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 535
    • Quartettportal
Hallo,
Andererseits vermisse ich jetzt aber einen Bezug auf das eigentlich Problem, dass Datensätze von Geisterhand ändern - oder ist das bereits abgestellt?
ich habe jetzt nur den select umgestellt, Steuerelementinhalt ist weiterhin ZusatzKartenArtID_F. Wenn ich jetzt unter Standardwert die 39 eintrage, dann habe ich das Unwesen immer noch. Es ist dann zwar in den neuen Datensätzen im Kombifeld cboZusatzKartenArt die ID 39 in Form von -keine Zusatzkarten o. Flyer- drin, aber dies wird auch bei allen bestehenden Datensätzen hinzugefügt. Ändern kann ich den Eintrag dann zwar, aber er fügt dann sofort -keine Zusatzkarten o. Flyer- wieder hinzu.
Ich habe im VBA Editor schon im ganzen Projekt nach dem Kombifeldnamen, nach ZusatzKartenArtID usw. aber ich finde nichts was sich irgendwie darauf bezieht :(. Ich weiss aktuell nicht, wie ich den Fehler da herausfiltern könnte.
Gruß Andreas
Grüße und Dank im voraus
Andreas
 

Offline Lachtaube

  • Access-Meister
  • ***
  • Beiträge: 850
Da hilft dann wohl nur wieder eine Beispieldatenbank (die Bilder habe ich noch).
Grüße von der (⌒▽⌒)
 

Offline DF6GL

  • Global Moderator
  • Access-Oberguru
  • *****
  • Beiträge: 23087
Bei neuem DS soll in einem CombiFeld im Ufo Standardwert übernehmen...
« Antwort #26 am: Juli 23, 2017, 14:05:46 »
Hallo,


der Krux liegt vermutlich in der verknüpfenden Abfrage für die Datenherkunft des Forms... (und in m. E. falschen Kombinatorik) , z. B auch in der Verwendung der harten "Magic Numbers"  in der Where-Condition.  Aber mit den Tabellenbeziehungen habe ich mich nicht weiter auseinander gesetzt.


Das Form zeigt dann so viele "gleiche" Datensätze (man könnte auch "Duplikate" sagen)aus der 1-Tabelle an, wie es DS für die n-Tabelle gibt. Vermutlich ist "..aber dies wird auch bei allen bestehenden Datensätzen hinzugefügt."    eine Fehleinschätzung der Situation.

Zudem schlage ich vor,  für Datenherkünfte, auch für UFOs, nur die Tabellennamen selbst heranzuziehen, oder  eine Abfrage auf maximal eine Tabelle , wenn eine Vorsortierung  erwünscht wäre.

Unterformulare  (UFO-Steuerelemente) sind dann über die Eigenschaften "Verknüpfen von/nach" zu synchronisieren.


Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 535
    • Quartettportal
Hallo,
Da hilft dann wohl nur wieder eine Beispieldatenbank ....
die Beispiel DB kann man hier downloaden, zum Anhängen ist sie 400kb zu groß.
http://quartettportal.de/SW/QuartettDB_Forum.zip
@Franz
Mit den Magic Numbers, das wusste ich nicht anders zu lösen :(.
Gruß Andreas
Grüße und Dank im voraus
Andreas
 

Offline Lachtaube

  • Access-Meister
  • ***
  • Beiträge: 850
Mit einer leeren Tabelle tblZusatzKartenArtZuSpiel macht das Helfen nun wirklich keinen Spaß.  :'(
Grüße von der (⌒▽⌒)
 

Offline derilzemer

  • Access-Meister
  • ***
  • Beiträge: 535
    • Quartettportal
Hi,
Mit einer leeren Tabelle tblZusatzKartenArtZuSpiel macht das Helfen nun wirklich keinen Spaß.  :'(
sorry, ich dachte ihr wollt das eventuell selbst mal auswählen auf der grünen Wiese. Ich habe jetzt alle 8 Datensätze bestückt. Einfach noch einmal downloaden http://quartettportal.de/SW/QuartettDB_Forum.zip
Wenn du dann für das combifeld Standardwert 39 einstellst, dann siehst du den Effekt, den das bewirkt.
Gruß Andreas
Grüße und Dank im voraus
Andreas