Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
If-Bedingung: Neues Formular oder altes öffnen
zurück: Datensätze eine UNION-Abfrage (SQL) einschränken weiter: Auswahl der mdb beim Starten von access Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
0000M0000
Gast


Verfasst am:
15. Apr 2011, 16:12
Rufname:

If-Bedingung: Neues Formular oder altes öffnen - If-Bedingung: Neues Formular oder altes öffnen

Nach oben
       Version: Office 2003

0000M0000 am 07. März 2011 um 15:47 hat folgendes geschrieben:
Hallo zusammen!

Ich habe ein Formular, in das eine selbst generierte Anlagennummer in ein Feld eingetragen wird. Beim Klicken auf einen Button öffnet sich ein weiteres Formular, in das die angegebene Anlagennummer übernommen wird.
Nun soll jedoch beim Öffnen zunächst überprüft werden, ob es dieses Unterformular mit der entsprechenden Anlagennummer schon gibt, und falls ja, das alte Formular zum Bearbeiten geöffnet werden (nicht wie natürlich nun passiert jedesmal beim Klicken ein neues Formular mit der Anlagennummer).
Soweit zu meinem Plan.

Die Realität sieht leider so aus, dass ich nur den ersten Teil hinbekomme:
Code:
Private Sub Form_Open(Cancel As Integer)
    DoCmd.GoToRecord , , acNewRec
    With Forms!BGA
        Me!Anlagennummer = !Anlagennummer
    End With
End Sub
Wie kann ich die zweite Anweisung hier einbauen? Meine bisherigen Versuche hierzu verschachtelte if-Bedingungen zu schreiben waren recht stümperhaft und endeten in Fehlermeldungen oder Abstürzen.

Vielen Dank schon mal für eure Hilfe!
Gruß, M

Hallo nochmals!

Nachdem ich nun wieder etwas Zeit hatte an meinem Problem herumzupfuschen (damit meine ich auch ein durchforsten des Forums inkl. ausprobieren der vielen verwandten Hilfestellungen) ist nun folgendes der Status:

Ich habe immer noch zwei Teile, die unabhängig voneinander benutzt (also jeweils ein Teil des Codes ausgeklammert), funktionieren. Zusammen nur leider nicht.

Der Code für den ersten Teil, der überprüft, ob die Anlagennummer im zweiten Formular (Kontaktdaten) ebenso bereits enthalten ist und zu diesem Eintrag springt:
Code:
    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "Kontaktdaten"
    stLinkCriteria = "[Anlagennummer]='" & Me![Anlagennummer] & "'"
    DoCmd.OpenForm stDocName, , , stLinkCriteria
Und der Teil, der, falls es den Eintrag noch nicht geben sollte, ein neues Formular öffnet und die im ersten Formular (BGA) verwendete Anlagennummer in das Feld Anlagennummer im zweiten Formular (Kontaktdaten) schreibt:
Code:
    If DCount("*", "Anlagennummer", stLinkCriteria) = 0 Then
        DoCmd.GoToRecord , , acNewRec
        With Forms!Biogasanlagen
            Anlagennummer = Me!Anlagennummer
        End With
      Else
        DoCmd.OpenForm stDocName, , , stLinkCriteria
    End If
Wie kann ich diese beiden Teile richtig miteinander verknüpfen?

Hier sage ich doch, kontrolliere erst ob der Eintrag vorhanden ist, falls nicht, dann erstelle einen neuen mit angegebener Bedingung...oder nicht?

Es sind übrigens zwei Tabellen:
Tabelle 1: BGA mit den Einträgen Anlagennummer, x, y, z
Tabelle 2: Kontaktdaten mit den Einträgen Anlagennummer, a, b, c
Die beiden Anlagennummern sind jeweils miteinander in Bezug gesetzt
Anlagennummer jeweils Text, da Zahlen/Buchstaben-Kombinationen

Ich wäre euch wirklich sehr sehr dankbar für jeden hint!

Grüße,
M
MissPh!
Office-VBA-Programmiererin


Verfasst am:
15. Apr 2011, 22:41
Rufname:
Wohnort: NRW

AW: If-Bedingung: Neues Formular oder altes öffnen - AW: If-Bedingung: Neues Formular oder altes öffnen

Nach oben
       Version: Office XP (2002)

Hallo,

wahrscheinlich bin ich nicht die einzige, die aus deiner Schilderung nicht recht schlau wird, aber ich will es mal versuchen...

Zunächst einmal zu den Begrifflichkeiten:
Zitat:
Beim Klicken auf einen Button öffnet sich ein weiteres Formular
Zitat:
ob es dieses Unterformular mit der entsprechenden Anlagennummer schon gibt
Ein aus einem Formular heraus geöffnetes zweites Formular ist kein Unterformular.
Von einem Unterformular spricht man, wenn ein Formular in ein anderes eingebettet ist.
Außerdem ist die Formulierung "schief", denn es geht doch wohl eher darum, ob es den Datensatz mit der Anlagennummer schon gibt.
Zitat:
Und der Teil, der, falls es den Eintrag noch nicht geben sollte, ein neues Formular öffnet
Handelt es sich hier um zwei verschiedene Formulare, die zu öffnen sind, je nachdem ob es schon eines Datensatz gibt oder nicht? Question
Was hat es auf sich mit "Forms!Biogasanlagen"???

So wie ich das sehe, sollten sich deine zwei Teile doch einfach folgendermaßen verbinden lassen:
Code:
Private Sub Button_Click()
    Dim stDocName As String
    Dim stLinkCriteria As String

    stDocName = "Kontaktdaten"
    stLinkCriteria = "[Anlagennummer]='" & Me![Anlagennummer] & "'"
    If DCount("*", "Kontaktdaten", stLinkCriteria) = 0 Then
        DoCmd.OpenForm stDocName, , , , acFormAdd
        Forms(stDocName)!Anlagennummer = Me!Anlagennummer
      Else
        DoCmd.OpenForm stDocName, , , stLinkCriteria
    End If
End Sub

BTW: Gib deinen Objekten eindeutige Namen wie tblKontaktdaten, frmKontaktdaten, rptKontaktdaten, etc..

PS:
Wenn du Code-Auszüge zeigst, so sollte stets der Kontext, in dem der Code steht, unmissverständlich beschrieben werden.
Oder du zeigst komplette Prozeduren, so dass man sieht, an welches Ereignis er gebunden ist.
Und bemühe dich um eine einfache, schnörkelfreie Sprache und schildere dein Problem ausführlich genug,
dass man sich ein Bild davon machen kann, dann brauchst du auch nicht lange auf Antworten zu warten.

_________________
Gruß MissPh!
0000M0000
Gast


Verfasst am:
18. Apr 2011, 11:07
Rufname:


AW: If-Bedingung: Neues Formular oder altes öffnen - AW: If-Bedingung: Neues Formular oder altes öffnen

Nach oben
       Version: Office 2003

Hallo MissPh!

Vielen vielen Dank, dass du dich meiner extremst stümperhaften Problembeschreibung angenommen hast!
Dass dem so ist weiß ich auch, leider bekomme ich das irgendwie nicht besser hin zu beschreiben - aber ich lerne noch.

Um so bewundernswerter ist es, dass es genauso wie du es oben beschrieben hast, jetzt funktioniert!

Für alle, die ein ähnliches Problem haben, aber nicht so gut raten können, möchte ich nochmals versuchen zu beschreiben, was dieser Code denn nun genau macht:

Zwei Formulare, eines heißt Kontaktdaten, das andere Biogasanlagen.
Beiden Formularen gemein ist das Feld Anlagennummer (Text), das dazu dient, die Datensätze eindeutig zuordnen zu können.
Ausgegangen wird immer vom Formular Biogasanlagen. Beim Klicken auf einen Button öffnet sich ein weiteres Formular, nämlich Kontaktdaten.
Hier wird nun mit dem oben beschriebenen Code kontolliert, ob bereits ein Datensatz mit dieser Anlagennummer im Formular Kontaktdaten vorhanden ist. Falls ja, wird dieser geöffnet. Falls nein, wird ein neuer Datensatz generiert, die Anlagennummer wird dabei aus dem Formular Biogasanlagen übernommen.

Der Sinn dahinter ist zum einen Tippfehler zu vermeiden, da insgesamt rund 40 dieser Formulare existieren, zum anderen sollen Mehrfacheinträge verhindert werden.

Wahrscheinlich ist es den meisten hier klar wie das funktioniert, aber viell. kann doch noch jemand anderes etwas hiermit anfangen.

Entschuldigung für diesen Wirrwarr, ich werde mir Mühe geben, so etwas nicht zu wiederholen.

NOCHMALS VIELEN VIELEN DANK AN MissPh!
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Formular --> Tabelle ? 6 AlexisM 835 27. Apr 2005, 10:56
AlexisM Formular --> Tabelle ?
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: min und max in einer abrage oder formular 1 Diepers 637 23. März 2005, 08:54
stpimi min und max in einer abrage oder formular
Keine neuen Beiträge Access Tabellen & Abfragen: Feld wird nicht in Formular angezeigt 1 Chef_1 528 12. März 2005, 21:27
stpimi Feld wird nicht in Formular angezeigt
Keine neuen Beiträge Access Tabellen & Abfragen: Abfragefeld über ein Kombifeld aus Formular ändern 3 ggazarog 1148 31. Dez 2004, 15:34
mapet Abfragefeld über ein Kombifeld aus Formular ändern
Keine neuen Beiträge Access Tabellen & Abfragen: Daten für Aktualisierung aus Formular auslesen 1 Ulf 1155 03. Dez 2004, 11:19
lothi Daten für Aktualisierung aus Formular auslesen
Keine neuen Beiträge Access Tabellen & Abfragen: Formular für mehrere Abfragen benutzen 2 Oli aus Bonn 1262 21. Nov 2004, 01:30
Oli aus Bonn Formular für mehrere Abfragen benutzen
Keine neuen Beiträge Access Tabellen & Abfragen: Formular und Feldberechnung 1 Gast 1059 17. Okt 2004, 19:01
Reinhard Formular und Feldberechnung
Keine neuen Beiträge Access Tabellen & Abfragen: Wert eines Feldes aus Formular in Tabelle speichern 18 kave78 13710 16. Okt 2004, 13:40
Ming Wert eines Feldes aus Formular in Tabelle speichern
Keine neuen Beiträge Access Tabellen & Abfragen: Abfragefeld nachträglich in Formular 3 Sebbl 1705 05. Aug 2004, 15:14
mabe38 Abfragefeld nachträglich in Formular
Keine neuen Beiträge Access Tabellen & Abfragen: Formular aus Endlosformular öffnen ? 10 G-Markus 1619 20. Jul 2004, 15:38
Gast Formular aus Endlosformular öffnen ?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage auf Knopfdruck in Excel öffnen 2 Norman 722 10. Jul 2004, 18:07
Norman Abfrage auf Knopfdruck in Excel öffnen
Keine neuen Beiträge Access Tabellen & Abfragen: Formular SQL-Anweisung 1 Tomma 742 05. Jul 2004, 12:43
stpimi Formular SQL-Anweisung
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: HTML Editoren Forum