Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Hyperlink aus Textfeldern ergänzen

Begonnen von Cyberhunter, Oktober 14, 2016, 22:28:33

⏪ vorheriges - nächstes ⏩

Cyberhunter

Ich komme leider nicht mehr weiter und brauche eure Unterstützung. Ich habe zwei Textfelder eines davon ist die AUTO-ID mit einer fortlaufenden Nummer (aktuell 4-stellig) und in dem zweiten Textfeld wir das aktuelle Jahr mit folgenden Code ausgegeben:
Private Sub AktuellesJahr_GotFocus()
    Me.AktuellesJahr = DatePart("yyyy", Date)
End Sub


Nun möchte ich mit VBA erreichen, das wenn ich auf einen Text-Link klicke ein fest hinterlegter lokaler Link plus aktuelles Jahr plus Auto-ID öffnet.
Vielleicht so in etwa: ??
Private Sub cmdLink_Click()
Me.Link = ("\\Bestellungen\Vorgänge\)[AktuellesJahr][AutoId]
End Sub

Aktuelles Jaht und Auto-ID sind auf jedem Fall keine festen Werte.

Hab ihr da eine Lösung für mich?

Gruß und Danke
Olaf
Ich arbeite aktuell mit MS Access 2013

MzKlMu

Hallo,
so:
Me.Link = "\\Bestellungen\Vorgänge\" & [AktuellesJahr] & [AutoId]
Das Klammerpaar muss weg und die Variablen sind zum Text mit & zu addieren.
Gruß Klaus

Cyberhunter

Hallo Klaus,
vielen Dank für die schnelle Antwort. Das habe ich jetzt verstanden.  :D

Jetzt stehe ich vor der nächsten Herausforderung.  :-\

In meinem Formular habe ich zwei Klicks drin, einmal soll er mir mit "aktuellesJahr" einen Ordner erstellen, wenn dieser noch nicht vorhanden ist. Das mach ich mir den folgenden Code:
Private Sub Jahr_anlegen_Click()
'prüfen ob ein Ordner vorhanden ist und falls nicht
'fragen ob Ordner erstellt werden soll
Dim Ord As String
Dim Antwort As Integer

Ord = "C:\xyz\" & [AktuellesJahr]

  If Dir(Ord, vbDirectory) <> "" Then
      MsgBox "Ordner ist schon vorhanden"
  Else
  Antwort = MsgBox("Der Ordner " & Ord & " ist nicht vorhanden." _
          & vbNewLine _
          & "soll der Ordner angelegt werden?!", vbYesNo)
      If Antwort = vbYes Then
'Falls kein LW angegeben ist, erstellt die MkDir-Anweisung
'den neuen Ordner auf dem aktuellen LW.
'LW wurde aber durch "C:\xyz\" festgelegt
      MkDir Ord
      MsgBox "Ordner " & Ord & " angelegt"
      Else
      MsgBox "Es wurden keine Änderungen vorgenommen"
      Exit Sub
      End If
  End If
End Sub


funktioniert auch wunderbar   :D

Bei dem nächsten Klick soll er in dem Unterordner "aktuellesJahr" einen neuen Ordner anlegen mit der aktuell angezeigten "Auto-ID" und genau da komm ich nicht weiter. Er macht immer was, aber nicht das was ich mir als Ergebnis vorstelle. Irgendwie ist das mit der Übernahme des "aktuellesnJahres" so nicht ganz richtig.
Private Sub cmdVorgang_Click()
'prüfen ob ein Ordner vorhanden ist und falls nicht
'fragen ob Ordner erstellt werden soll
Dim Ord As String
Dim Antwort As Integer

Ord = "C:\xyz\&[AktuellesJahr]" & [ID]

  If Dir(Ord, vbDirectory) <> "" Then
      MsgBox "Ordner ist schon vorhanden"
  Else
  Antwort = MsgBox("Der Ordner " & Ord & " ist nicht vorhanden." _
          & vbNewLine _
          & "soll der Ordner angelegt werden?!", vbYesNo)
      If Antwort = vbYes Then
'Falls kein LW angegeben ist, erstellt die MkDir-Anweisung
'den neuen Ordner auf dem aktuellen LW.
'LW wurde aber durch "C:\xyz\" festgelegt
      MkDir Ord
      MsgBox "Ordner " & Ord & " angelegt"
      Else
      MsgBox "Es wurden keine Änderungen vorgenommen"
      Exit Sub
      End If
  End If
End Sub


Ich möchte das er in den Ordner c:\xyz\"aktuellesJahr"\ einen Ordner mit der aktuellen Auto-ID erstellt (z.B. c:\xyz\2016\123). Ich schaffe es immer nur, das er "aktuellesJahr" und "auto-ID" mit einander verbindet, aber nicht einen neuen Unterordner erstellt.

Könnt ihr mir da bitte weiterhelfen?
Danke :'(

Gruß
Olaf
Ich arbeite aktuell mit MS Access 2013

MaggieMay

Hallo Olaf,

vergleiche den Code der beiden Prozeduren, notfalls Zeichen für Zeichen, dann solltest du den Unterschied sowie die Fehlerursache vermutlich selbst herausfinden können.
Freundliche Grüße
MaggieMay

Cyberhunter

Hallo MaggieMay,

der Unterschied liegt in
ZitatOrd = "C:\xyz\&[AktuellesJahr]" & [ID]
Ich bin Anfänger und weiss jetzt nicht wie ich es machen muss, damit er in den vorher erstellten Verzeichnis [aktuellesJahr], quasi eine Variable, einen neuen Unterordner anlegt.

Gruß
Olaf
Ich arbeite aktuell mit MS Access 2013

DF6GL

Hallo,

naja, der Ausdruck ist wohl falsch...


Ord = "C:\xyz\" & Me![AktuellesJahr] & "\" & Me![ID]


Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

MaggieMay

So war das gemeint:

Vergleiche
Ord = "C:\xyz\" & [AktuellesJahr]
mit
Ord = "C:\xyz\&[AktuellesJahr]" & [ID]

Was fällt dir dabei auf?
Freundliche Grüße
MaggieMay

Cyberhunter

Danke DF6GL,

das ist genau die Information die ich benötigt habe und nun funktioniert es auch danke eure Hilfe perfekt. :D
Ich arbeite aktuell mit MS Access 2013