MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 24.03.2006, 10:57   #1
ah300476
Neuer Benutzer
Neuer Benutzer
Standard Acc2000 - Formular mit Datensatz öffnen

Hallo,

bräuchte mal Hilfe.
Ich habe in meinem Dokument die Felder "Jahr" und "Nummer". Nun möchte ich dieses Formular öffnen und einen Datensatz aufrufen, bei dem für Jahr = 06 und für Nummer = 002 ist.
Da aber keines dieser Felder einen Primärschlüssel hat passiert nun folgendes.
Hier der Code mit dem ich das Aufrufe:
Code:

Private Sub QMB_ErgebnisListe_DblClick(Cancel As Integer)
Dim jahr As String
Dim nummer As String
Dim stFormName As String

stFormName = "frm_QMB"

jahr = Format(Me.QMB_ErgebnisListe.Column(0), "00")
nummer = Format(Me.QMB_ErgebnisListe.Column(1), "000")

DoCmd.OpenForm stFormName, acNormal, , , acFormEdit

Forms("frm_QMB")![QMB-Jahr] = jahr
Forms("frm_QMB")![QMB-Nummer] = nummer
Forms("frm_QMB").Requery
End Sub
Das Formular wird geöffnet und es werden die Werte eingetragen. Dadurch wird aber schon der neue Datensatz erstellt. Mach ich nun das Requery wird der Datensatz geöffnet den ich eigentlich möchte. Hab jetzt aber immernoch einen leeren Datensatz mit den gleichen Werten für Jahr und Nummer.

Mein Versuch die Bedingung beim öffnen des Formulars zu übergeben scheitern wohl daran dass die eigentliche abfrage die hinter dem Formular steht eben auf Felder im Formular zurückgreift.
Denke das sollte ich mal korrigieren und hab dann vielleicht die möglichkeit dass es als WHERE Bedingung im DoCmd.OpenForm klappt.

Vielleicht kann mir ja jemand bei meinen Gedankengängen unterstützen ich habe hier leider niemand mit dem ich das ausdiskutieren kann.

mfg
Andi
ah300476 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.03.2006, 11:35   #2
Anne Berg
MOF Guru
MOF Guru
Standard

Ich denke, du solltest den letzten Ansatz weiter verfolgen. Die Datenherkunft des Formulars (Tabelle oder Abfrage) sollte die Felder "Jahr" und "Nummer" enthalten, dann kannst du das Kriterium in der Open-Anweisung einsetzen.

__________________

Liebe Grüße
Anne
Anne Berg ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.03.2006, 11:36   #3
Steffen0815
MOF Meister
MOF Meister
Standard

Hallo Andy,
ich denke du solltest das Formular mit Filter öffnen.
Ausgehend davon das Nummer ein Text ist , sollte das so funktionieren:
Code:

Private Sub QMB_ErgebnisListe_DblClick(Cancel As Integer)
Dim jahr As String
Dim nummer As String
Dim stFormName As String
Dim Bedingung As String

stFormName = "frm_QMB"

jahr = Format(Me.QMB_ErgebnisListe.Column(0), "00")
nummer = Format(Me.QMB_ErgebnisListe.Column(1), "000")

Bedingung = "[QMB-Jahr] = '" & jahr & "' And [QMB-Nummer] = '" & nummer & "'"
DoCmd.OpenForm stFormName, acNormal, , Bedingung, acFormEdit
End Sub

__________________

Gruß Steffen
Steffen0815 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 27.03.2006, 07:17   #4
ah300476
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Guten Morgen,

so hab das jetzt umgestellt und versucht das mit der Bedinung zu machen.
Allerdings bricht er mir mit einem Laufzeitfehler 2501 ab. Kein Plan was das ist wo das her kommt. Denke es hängt mit der Bedingung zusammen.
Hab sie aber genau so gemacht wie Steffen es geschrieben hat.


aaahhh habs
Code:

Private Sub btn_QmbAnzeigen_Click()
Dim jahr As String
Dim nummer As String
Dim stFormName As String
Dim Bedingung As String

stFormName = "frm_QMB"
jahr = Format(Me.QMB_Jahr, "00")
nummer = Format(Me.QMB_Nummer, "000")

Bedingung = "[QMB-Jahr] = " & jahr & " AND [QMB-Nummer] = " & nummer

DoCmd.OpenForm "frm_QMB", acNormal, , Bedingung, acFormEdit

End Sub
da war noch ein syntax fehler.
Ohne die doofen einfachen hochkommas gehts.

Danke für Eure Unterstützung

Gruss Andi
ah300476 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 27.03.2006, 07:29   #5
rapunzel
MOF Meister
MOF Meister
Standard

Zitat:

Ohne die doofen einfachen hochkommas gehts.

Steffen hat ja geschrieben:....Ausgehend davon das Nummer ein Text ist......

Bei Zahl brauchst die ' natürlich nicht

__________________

lg Brigitte (rapunzel ist nur ein Nick.)

was nicht passt, wird passend gemacht
Acc97, Office 97, Win XP Prof,
Win7, Office 2010

Je detaillierter die Frage, umso schneller und effizienter die Hilfe.
Dieses Forum hat eine Suchfunktion .
rapunzel ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 27.03.2006, 07:42   #6
Steffen0815
MOF Meister
MOF Meister
Standard

Hallo,
wieder ein typisches Beispiel, wie einem die "Großzügigkeit" von VBA auf die Füße fällt.
Du solltest Zahlen auch als Zahlen definieren.

Zitat:

Dim jahr As String
Dim nummer As String

Die Umwandlung
Code:

jahr = Format(Me.QMB_Jahr, "00")
nummer = Format(Me.QMB_Nummer, "000")
kannst du dir dann auch sparen. Korrekt wäre höchstens ein "Val"

__________________

Gruß Steffen

Geändert von Steffen0815 (27.03.2006 um 07:49 Uhr).
Steffen0815 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:27 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.