Access Makro mit mehreren Bedingungen

Guten Tag,

Wie aktiviere ich ein Makro mit 2 Bedingungen.

Ich habe ein Kombinationsfeld mit 3 Auswahlmöglich keiten.

ja
ja mit Holz
nein

bei den ersten beiden soll eine Textbox aufploppen.

funktioniert be mir aber nur wenn ich „ja mit Holz“ auswähle und leider nicht bei „ja“!

Hier mein Code:

If Me!zul.Column(0) = „ja“ Then
Me!Textfeld.Visible = True
Else
Me!Textfeld.Visible = False
End If

If Me!zul.Column(0) = „ja“ Then
Me!Textfeld_name.Visible = True
Else
Me!Textfeld_name.Visible = False
End If

If Me!zul.Column(0) = „ja mit Holz“ Then
Me!Textfeld.Visible = True
Else
Me!Textfeld.Visible = False
End If

If Me!zul.Column(0) = „ja mit Holz“ Then
Me!Textfeld_name.Visible = True
Else
Me!Textfeld_name.Visible = False
End If
End Sub

Hat jemand eine Idee?

MFG

Hallo Jasper19,

Du hast vergessen, das Formular zu refreshen…
Versuche es mal damit (ist außerdem kürzer)

'*********************************
Me.Refresh

If Me.zul.Column(0) = „nein“ Then
Me.Textfeld.Visible = False
Me.Textfeld_name.Visible = False
Else
Me.Textfeld.Visible = True
Me.Textfeld_name.Visible = True
End If
'*********************************

Gruß
Uli

Hi,
auch bei „ja“ funktioniert es. Nur mit deiner nächsten Prüfung schaltest du es ja gleich wieder aus.

If trim(Me!zul.Column(0)) = "ja" Then
 Me!Textfeld.Visible = True
 Me!Textfeld\_name.Visible = True
Else
 If trim(Me!zul.Column(0)) = "ja mit Holz" Then
 Me!Textfeld.Visible = True
 Me!Textfeld\_name.Visible = True
 Else
 Me!Textfeld.Visible = False
 Me!Textfeld\_name.Visible = False
End If

Hallo

hast du mal einen Breakpoint gesetzt um zu sehen wo er rein springt?

Gruß Rainer

und die Lösung sieht dann codetechnisch bitte wie aus?

MfG

Ich bin leider ein VBA-Frischling und habe leider keine Ahnung wie das geht…Code
anpassen ja Code selberbauen nein…sonst würde ich ja nicht fragen…

und die Lösung sieht dann codetechnisch bitte wie aus?

MfG

Steht doch in der antwort

also das ist jetzt sehr schwierig zu erklären. Am Besten erst mal ein gutes Buch kaufen.
Also ich versuch es:
Im Code vor dem Text links mit der maus klicken, dann erscheint ein roter punkt.
Nach dem ändern des Feldes springt Access dann in den Quellcode und bleibt beim roten Punkt stehen.
Dann gehst du mit der Maus über die Stelle Me!zul.Column(0) und kannst lesen was da drin steht. Dann solltest du sehen wieso es nicht funktioniert.
Unter debug einzelschritt kannst du übrigens dann Schritt für Schritt ausführen.

Gruß Rainer

Danke ich werde es ausprobieren und Feedback geben, allerdings werde ich erst am
Montag wieder dazu kommen. Vielleicht noch ein Tipp für ein gutes Buch (für
Anfänger)?

Gruß Jasper

Moin,

Wie aktiviere ich ein Makro mit 2 Bedingungen.

Grundsätzlich kannst du Bedingungen mit den logischen Operatoren AND und OR verknüpfen.

Ich schreibe nur fix runter, eventuelle Schreibfehler müsstest du dann selbst herauslösen :wink:

If Me!zul.Column(0) = „ja“ OR Me!zul.Column(0) = „ja mit Holz“ Then
Me!Textfeld.Visible = True
Me!Textfeld_name.Visible = True
Else
Me!Textfeld.Visible = False
Me!Textfeld_name.Visible = False
End If

Das sollte eigentlich reichen.

Hallo,

danke hat super geklappt!

Ich hab noch ein Problem würde gerne nocheinmal Ihre Hilfe in Anspruch nehmen. Ich möchte mit einer Kombibox Werte aus Access in eine geschütze Worddokumentvorlage übergeben.

mit meinem Code kann ich es allerdings nur an ungeschützte .dot Vorlagen übergeben und überschreibe damit die Formularfelder anstatt diese auszufüllen!

Ich möchte aber das er ein neues geschütztes „.doc“ öffnet und an dieses die Werte übergibt.

Hier der CODE:

Private Sub Worddatei_AfterUpdate()

'Start Microsoft Word.
Set objWord = CreateObject(„Word.Application“)
With objWord
objWord.Visible = True
objWord.Documents.Open („D:\MusterDB“ & Forms!MusterDB!Worddatei.Column(0))
.ActiveDocument.Bookmarks(„Anrede“).Select
.Selection.Text = Me!Anrede
.ActiveDocument.Bookmarks(„Vorname“).Select
.Selection.Text = Me!Vorname
.ActiveDocument.Bookmarks(„Name“).Select
.Selection.Text = Me!Name
.ActiveDocument.Bookmarks(„Name2“).Select
.Selection.Text = Me!Name
.ActiveDocument.Bookmarks(„KDN“).Select
.Selection.Text = Me!KDN
.ActiveDocument.Bookmarks(„KDNummer“).Select
.Selection.Text = Nz(Me!KDNummer)

End With
Set objWord = Nothing

End Sub

MFG

Jasper

Moin Jasper,

hatte nicht wieder in die Antwort gesehen und jetzt beim Sortieren meiner Emails deine weitere Nachfrage mitbekommen.

Wenn du deinen Code oben genau liest, kannst du sehen was passiert:

.ActiveDocument.Bookmarks(„Anrede“).Select

Markiere die Textmarke „Anrede“

.Selection.Text = Me!Anrede

Ersetze die Markierung mit dem Inhalt von Me!Anrede

Damit also die die Textmarke erhalten bleibt, mußt du etwas mehr Aufwand treiben :wink:

Hier eine recht gute Anleitung:
http://word.mvps.org/faqs/MacrosVBA/InsertingTextAtB…

Hoffe das hilft.

Gruß
Daniel

Danke funktioniert super!

Gruß

Jas