Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Harte Nuss: Automatische Verzeichnisanlage?
Gehe zu Seite Zurück  1, 2, 3  Weiter
zurück: Datensatz suchen bzw. Variable weiter: Unterformular zeigt Datensätze nur manchmal 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
MattAccess
Learning by Doing :-D


Verfasst am:
29. Apr 2009, 13:26
Rufname:
Wohnort: Ingolstadt

AW: Harte Nuss: Automatische Verzeichnisanlage? - AW: Harte Nuss: Automatische Verzeichnisanlage?

Nach oben
       Version: Office 2007

Ah, okay....
Dann werd ich das mal beim Titel als Ereignis einfügen...
Ich dachte nur, dass das bei meiner Variante bewirkt, dass der Ordner jedes mal bei änderung des Formulars aktualisiert wird....
Aber jetzt erst mal so versuchen....

----- >>> Jetzt funktioniert's...
Werd noch ein bisschen dran rumtüfteln, dass sich die Ordner aktualisieren, egal welches Feld sich ändert, aber sonst genau das was ich gesucht hab.
Vielen Dank, vor allem Arb!!!

Grüße,
Matt
Willi Wipp
Moderator


Verfasst am:
30. Apr 2009, 02:56
Rufname:
Wohnort: Raum Wiesbaden


Re: Harte Nuss: Automatische Verzeichnisanlage? - Re: Harte Nuss: Automatische Verzeichnisanlage?

Nach oben
       Version: Office 2007

Hi MattAccess,

wie waere es denn mit folgendem Code fuer die Erstellung der Verzeichnisse
Code:
Option Compare Database
Option Explicit

Public Sub MKDirWithParentDirs(ByVal strPath As String)
On Error GoTo MyErr
    Dim astrDir()   As String
    Dim strDirTemp  As String
    Dim lngI        As Long

    ' Falls Backslash am Ende, diesen entfernen!
    If Right(strPath, 1) = "\" Then
        strPath = Left(strPath, Len(strPath) - 1)
    End If
    ' Verzeichnis in Array aufteilen
    astrDir = Split(strPath, "\")
    ' Laufwerk ermitteln:
    strDirTemp = astrDir(0)
    For lngI = 1 To UBound(astrDir)
        Select Case astrDir(lngI)
          Case "." 'aktuelles Verzeichens kann entfallen!
            ' ==> Nichts tun!
          Case ".." 'Uebergeordnetes Verzeichnis
            If Len(strDirTemp) < 3 Then
                strDirTemp = astrDir(0)
              Else
                strDirTemp = Left$(strDirTemp, InStrRev(strDirTemp, "\") - 1)
            End If
          Case Else
            strDirTemp = strDirTemp & "\" & astrDir(lngI)
            ' Teil-Verzeichnis nicht vorhanden?
            If Dir(strDirTemp, vbDirectory) = "" Then
                ' Dann anlegen
                MkDir strDirTemp
            End If
        End Select
    Next lngI
MyExit:
    Exit Sub
MyErr:
    MsgBox Err.Number & ": " & Err.Description, vbCritical
    Resume MyExit
End Sub

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
MattAccess
Learning by Doing :-D


Verfasst am:
30. Apr 2009, 09:29
Rufname:
Wohnort: Ingolstadt

AW: Harte Nuss: Automatische Verzeichnisanlage? - AW: Harte Nuss: Automatische Verzeichnisanlage?

Nach oben
       Version: Office 2007

Morgen Willi.
versuch grad, deinen Code zu verstehen... Very Happy
Glaub, ich brauch erstmal nen Kaffee Wink
Wo kann ich hier meine Pfadbezeichnung erstellen, die sich ja immer nach der ID richten soll?
Und vor allem, wann soll ich diesen Code ausführen?
Dann probier ichs natürlich gerne aus... Very Happy

Danke für eure Bemühungen...

Grüße,
Matt
derArb
getting better


Verfasst am:
30. Apr 2009, 11:06
Rufname: derArb
Wohnort: Berlin

AW: Harte Nuss: Automatische Verzeichnisanlage? - AW: Harte Nuss: Automatische Verzeichnisanlage?

Nach oben
       Version: Office 2007

Hallo,

Du brauchst einfach nur Willi Wipp's code ins Formular kopieren und dann kannst Du
z.B. Nach Aktualisieren des Formulars oder eines einzelnen Steuerelements
folgenden Code nehmen
Code:
Private Sub Form_AfterUpdate()
    Dim Hauptpfad As String
    Dim PfadHauptverzeichnis As String
   
    Hauptpfad = "c:\Test"
    PfadHauptverzeichnis = Hauptpfad & "\" & "ID_NR_" & Me!Id & "_" & _
                           Me!Title & "\Bilder\Angebote\Bilder\vorher\" & _
                           "Bilder\nachher"
    MKDirWithParentDirs PfadHauptverzeichnis
End Sub

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
MattAccess
Learning by Doing :-D


Verfasst am:
30. Apr 2009, 11:08
Rufname:
Wohnort: Ingolstadt


AW: Harte Nuss: Automatische Verzeichnisanlage? - AW: Harte Nuss: Automatische Verzeichnisanlage?

Nach oben
       Version: Office 2007

Ah, okay...
Und wo ins Formular?
Beim Laden/Öffnen?

Grüße,
Matt
derArb
getting better


Verfasst am:
30. Apr 2009, 11:14
Rufname: derArb
Wohnort: Berlin

AW: Harte Nuss: Automatische Verzeichnisanlage? - AW: Harte Nuss: Automatische Verzeichnisanlage?

Nach oben
       Version: Office 2007

derArb am 30. Apr 2009 um 11:10 hat folgendes geschrieben:
Hallo,

das ist eine eigenständige Subprozedur.

Einfach reinkopieren unter Option explicit z.B.

mfg
derArb

das wäre dann so
Code:
Option Compare Database
Option Explicit

Public Sub MKDirWithParentDirs(ByVal strPath As String)
On Error GoTo MyErr
    Dim astrDir()   As String
    Dim strDirTemp  As String
    Dim lngI        As Long

    ' Falls Backslash am Ende, diesen entfernen!
    If Right(strPath, 1) = "\" Then
        strPath = Left(strPath, Len(strPath) - 1)
    End If
    ' Verzeichnis in Array aufteilen
    astrDir = Split(strPath, "\")
    ' Laufwerk ermitteln:
    strDirTemp = astrDir(0)
    For lngI = 1 To UBound(astrDir)
        Select Case astrDir(lngI)
          Case "." 'aktuelles Verzeichens kann entfallen!
            ' ==> Nichts tun!
          Case ".." 'Uebergeordnetes Verzeichnis
            If Len(strDirTemp) < 3 Then
                strDirTemp = astrDir(0)
              Else
                strDirTemp = Left$(strDirTemp, InStrRev(strDirTemp, "\") - 1)
            End If
          Case Else
            strDirTemp = strDirTemp & "\" & astrDir(lngI)
            ' Teil-Verzeichnis nicht vorhanden?
            If Dir(strDirTemp, vbDirectory) = "" Then
                ' Dann anlegen
                MkDir strDirTemp
            End If
        End Select
    Next lngI
MyExit:
    Exit Sub
MyErr:
    MsgBox Err.Number & ": " & Err.Description, vbCritical
    Resume MyExit
End Sub

Private Sub Form_AfterUpdate()
    Dim Hauptpfad As String
    Dim PfadHauptverzeichnis As String

    Hauptpfad = "c:\Test"
    PfadHauptverzeichnis = Hauptpfad & "\" & "ID_NR_" & Me!Id & "_" & _
                           Me!Title & "\Bilder\Angebote\Bilder\vorher\" & _
                           "Bilder\nachher"
    MKDirWithParentDirs PfadHauptverzeichnis
End Sub

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
MattAccess
Learning by Doing :-D


Verfasst am:
04. Mai 2009, 13:16
Rufname:
Wohnort: Ingolstadt

AW: Harte Nuss: Automatische Verzeichnisanlage? - AW: Harte Nuss: Automatische Verzeichnisanlage?

Nach oben
       Version: Office 2007

MattAccess am 30. Apr 2009 um 11:19 hat folgendes geschrieben:
Alles klar, in max.10 Min gibts Rückmeldung obs klappt... Very Happy

Ui, jetzt war ich schnell... Razz
Funktioniert wunderbar.
herzlichen Dank für eure Hilfe (das heißt aber nicht, dass ich sie nicht mehr in Anspruch nehmen möchte/werde) Laughing

Viele Grüße,
Matt

Mahlzeit zusammen,
hab grad ein Problem festgestellt, mit dem ich nicht so ganz zurecht komme.
Der Code funktioniert, jedoch wird das verzeichnis nun folgendermaßen angelegt:
C:\Test\Problem-ID + Titel\Bilder\Angebote\Bilder\vorherBilder\Nachher

In meinem Fall sollte dies jedoch so geschehen:

C:\Test\Problem-ID + Titel \Bilder\nachher
C:\Test\Problem-ID + Titel \Bilder\vorher
C:\Test\Problem-ID + Titel \Angebote

Also quasi in "C:\Test\Problem-ID + Titel\" ein Ordner "Bilder" mit Unterordner "vorher" und "Nachher" und ein Ordner "Angebote".
Ist das irgendwie hinzubekommen?

Grüße,
Matt
derArb
getting better


Verfasst am:
04. Mai 2009, 19:29
Rufname: derArb
Wohnort: Berlin

AW: Harte Nuss: Automatische Verzeichnisanlage? - AW: Harte Nuss: Automatische Verzeichnisanlage?

Nach oben
       Version: Office 2007

Hallo,

dann z.B. so
Code:
Private Sub Title_AfterUpdate()
    Dim ZW As Long
    Dim Hauptpfad As String
    Dim PfadHauptverzeichnis As String
    Dim PfadHauptverzeichnisAlt As String

    Hauptpfad = "c:\Test"
    ZW = Me!Id
    PfadHauptverzeichnis = Hauptpfad & "\" & "ID_NR_" & Me!Id & "_" & Me!Title
    PfadHauptverzeichnisAlt = Hauptpfad & "\" & "ID_NR_" & Me!Id & "_" _
                            & Me!Title.OldValue
    If PfadHauptverzeichnis <> PfadHauptverzeichnisAlt Then
        If Dir(PfadHauptverzeichnisAlt, vbDirectory) <> "" Then
            'Verzeichnis umbenennen
            Name PfadHauptverzeichnisAlt As PfadHauptverzeichnis
            Application.Echo False
            Me.Requery
            Me.Recordset.FindFirst "ID=" & ZW
            Application.Echo True
          Else
            'neue Pfade erstellen
            MKDirWithParentDirs PfadHauptverzeichnis & "Angebot"
            MKDirWithParentDirs PfadHauptverzeichnis & "Bilder\vorher\"
            MKDirWithParentDirs PfadHauptverzeichnis & "Bilder\nachhe"
        End If
    End If
End Sub

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.
MattAccess
Learning by Doing :-D


Verfasst am:
05. Mai 2009, 08:58
Rufname:
Wohnort: Ingolstadt

AW: Harte Nuss: Automatische Verzeichnisanlage? - AW: Harte Nuss: Automatische Verzeichnisanlage?

Nach oben
       Version: Office 2007

MattAccess am 05. Mai 2009 um 08:31 hat folgendes geschrieben:
Guten Morgen Arb,
also in Kombination mit Willis Code passiert leider rein gar nix.
Ich versuch das jetzt mal auf seinen irgendwie umzustricken, da mir bei deiner Version die Erstellung nur gelingt, sobald sich der Titel ändert, am Besten wäre jedoch, wenn das egal bei welcher Eingabe geschieht.

So, jetzt hab ichs, musst nur das von Willi ein wenig umbauen....

Meine Lösung:
Code:
Private Sub Form_AfterUpdate()
    Dim Hauptpfad As String
    Dim PfadHauptverzeichnis As String

    Hauptpfad = "c:\Test\ID_NR_" & Me!Id & "_" & Me!Title & "\"
    PfadHauptverzeichnis = Hauptpfad & "Bilder\vorher"
    MKDirWithParentDirs PfadHauptverzeichnis
    PfadHauptverzeichnis = Hauptpfad & "Bilder\nachher"
    MKDirWithParentDirs PfadHauptverzeichnis
    PfadHauptverzeichnis = Hauptpfad & "Angebote"
    MKDirWithParentDirs PfadHauptverzeichnis
End Sub
Danke für eure Hilfe Arb und Willi!

Viele Grüße,

Matt
Gast



Verfasst am:
05. Mai 2009, 10:25
Rufname:

AW: Harte Nuss: Automatische Verzeichnisanlage? - AW: Harte Nuss: Automatische Verzeichnisanlage?

Nach oben
       Version: Office 2007

Vielen Dank! Ich habe genau nach so einer Lösung gerade gesucht Smile
MattAccess
Learning by Doing :-D


Verfasst am:
05. Mai 2009, 15:46
Rufname:
Wohnort: Ingolstadt

AW: Harte Nuss: Automatische Verzeichnisanlage? - AW: Harte Nuss: Automatische Verzeichnisanlage?

Nach oben
       Version: Office 2007

Hm, irgendwie tut sich dann doch immer noch was auf.... Very Happy
Bei mir siehts jetzt folgendermaßen aus:
Code:
Private Sub Form_AfterUpdate()
    Dim Hauptpfad As String
   
    Hauptpfad = "c:\Test\ID_NR_" & Me!Id & "_" & Me!Title & "\"
    MKDirWithParentDirs Hauptpfad & "Bilder\vorher"
    MKDirWithParentDirs Hauptpfad & "Bilder\nachher"
    MKDirWithParentDirs Hauptpfad & "Angebote\Angebot1"
    MKDirWithParentDirs Hauptpfad & "Angebote\Angebot2"
    MKDirWithParentDirs Hauptpfad & "Angebote\Angebot3"
    MKDirWithParentDirs Hauptpfad & "Angebote\Angebot4"
    MKDirWithParentDirs Hauptpfad & "Angebote\Angebot5"
End Sub
Ginge wahrscheinlich auch mit etwas weniger Text, aber hauptsache es funktioniert... Razz
Diese Pfade sind ja variabel und beziehen sich auf den gerade aufgerufenen Datensatz (Anhand der ID).
Jetzt hab ich in meiner Registerkarte im Formular eine Tabelle mit den Angeboten 1-5. Daneben würd ich gerne einen Hyperlink direkt in den Ordner zum entsprechenden Angebot setzen.
Jetzt das Problem:
Wie definiere ich den Hyperlinkpfad für z.B. Ordner 1, da dieser ja variabel ist, je nach dem welche Problem-ID gerade aufgerufen ist....???
derArb
getting better


Verfasst am:
05. Mai 2009, 22:41
Rufname: derArb
Wohnort: Berlin

AW: Harte Nuss: Automatische Verzeichnisanlage? - AW: Harte Nuss: Automatische Verzeichnisanlage?

Nach oben
       Version: Office 2007

Hallo,

das Erstellen der Auftragsordner in dieser Form ist falsch.
NAch 5 Aufträgen musst Du wieder in den VBA code.

Es sollten erst bei Erstellen eines Auftrags solche Ordner erstellt werden.

Bist Du Dir sicher, dass Du Dein DB Modell schon soweit hast, um diesen"Schnickschnack" einzubauen?

Das ist ein riesen Aufwand, da alles per VBA bezüglich der ORdner
abgesichert sein muss.

Ich hab momentan wenig Zeit und geb Dir ein imperfektes Beispiel.
Darin werden bei Veränderung des Titels die Unterordner 'Angebote'
noch nicht richtig updated.

vielleicht hilft da ein Profi

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.



Test_unperfekt.zip
 Beschreibung:
2002-2003 kompatibel

Download
 Dateiname:  Test_unperfekt.zip
 Dateigröße:  52.96 KB
 Heruntergeladen:  8 mal

MattAccess
Learning by Doing :-D


Verfasst am:
06. Mai 2009, 08:25
Rufname:
Wohnort: Ingolstadt

AW: Harte Nuss: Automatische Verzeichnisanlage? - AW: Harte Nuss: Automatische Verzeichnisanlage?

Nach oben
       Version: Office 2007

Wow, danke für deine Mühe,
aber nun folgendes, wär ja zu schön, wenn alles immer gleich bleiben würde... Wink :
Folgendermaßen soll das ganze ablaufen, hab das nochmal besprochen:
Sobald ich einen neuen Datensatz anlege, sollen zu diesem DS wie o.g. die Verzeichnisse angelegt werden.
Diese müssen weder geupdaten noch sonstwas werden, sondern einfach nur erstellt (werden "manuell" befüllt) mit ID-Nr und Problemtitel als Verzeichnisname.
Der Problemtitel wird nach Speichern des DS gesperrt, also ist keine Änderung mehr möglich, nur via DS löschen.
Dann müssts doch so passen, wie ichs jetzt hab, oder?
Versteh das mit den 5 Aufträgen nicht ganz...Was meinst du damit?

Grüße,
Matt
derArb
getting better


Verfasst am:
06. Mai 2009, 12:10
Rufname: derArb
Wohnort: Berlin

AW: Harte Nuss: Automatische Verzeichnisanlage? - AW: Harte Nuss: Automatische Verzeichnisanlage?

Nach oben
       Version: Office 2007

Hallo,

ja..dann müsste es so passen.

Mit den 5 Aufträgen meine ich, dass es doch auch mher wie 5 Aufträge geben kann. Mit Deiner Methode müsstest Du dann immer eine neue Codezeile in VBA einfügen.
Erstell in meinem Beispiel mal 10 Aufträge, dann hast Du 10 Unterangebotsordner im Ordner Angebote. Erstellst Du kein Angebot, dann eben keinen.

_________________
MfG
derArb

Scio me nihil scire...Εν οίδα οτι ουδέν οίδα... Ich weiss, dass ich nichts weiss (Sokrates)
Ich bevorzuge Beiträge mit korrekter deutscher Grammatik.


Zuletzt bearbeitet von derArb am 06. Mai 2009, 12:14, insgesamt einmal bearbeitet
MattAccess
Learning by Doing :-D


Verfasst am:
06. Mai 2009, 12:29
Rufname:
Wohnort: Ingolstadt


AW: Harte Nuss: Automatische Verzeichnisanlage? - AW: Harte Nuss: Automatische Verzeichnisanlage?

Nach oben
       Version: Office 2007

MattAccess am 06. Mai 2009 um 12:14 hat folgendes geschrieben:
Achso, die Angebote...
Nein, das ist festgelegt, es werden je nach Finanzvolumen zwischen 2 und 5 Angeboten eingeholt, wobei 5 der Maximalwert ist.
Hast du evtl. eine Ahnung, wie ich einen Hyperlink im Formular zu dem Jeweiligen Ordner (Angebot 1-5) definieren muss?
Da häng ich grad noch, weil der Pfad ja variabel ist....

Danke und viele Grüße,
Matt

So, bisschen gespielt und gegoogelt, schon hab ichs gebastelt und es funktioniert... Very Happy
Für alle Interessierten der Code (ist nur grad noch auf ein textfeld gelegt):
Code:
Private Sub Bezeichnungsfeld443_Click()
    Dim Hauptpfad As String
   
    Hauptpfad = "c:\Test"
    Shell "Explorer.exe " & Hauptpfad & "\" & "ID_NR_" & Me!ID & "_" & _
          Me!Title & "\Angebote\Angebot1", vbNormalFocus
End Sub
Danke für eure sehr hilfreichen Beiträge.

Viele Grüße,
Matt
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite Zurück  1, 2, 3  Weiter
Diese Seite Freunden empfehlen

Seite 2 von 3
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: automatische Löschabfrage erstellen 5 darkhope 92 20. Sep 2013, 12:49
JMalberg automatische Löschabfrage erstellen
Keine neuen Beiträge Access Tabellen & Abfragen: Automatische Speicherung der Daten 11 Comx 102 01. Nov 2012, 13:38
Gast Automatische Speicherung der Daten
Keine neuen Beiträge Access Tabellen & Abfragen: Automatische Erzeugung eines Datensatzes aufgrund einer Abf 1 HdW 178 09. Jun 2011, 10:23
Marmeladenglas Automatische Erzeugung eines Datensatzes aufgrund einer Abf
Keine neuen Beiträge Access Tabellen & Abfragen: Mailversenden und automatische Berichte dranhängen 0 gstromi 205 17. Jan 2011, 13:42
gstromi Mailversenden und automatische Berichte dranhängen
Keine neuen Beiträge Access Tabellen & Abfragen: Automatische Feldereingabe 8 Crunker 384 14. Feb 2010, 19:43
Crunker Automatische Feldereingabe
Keine neuen Beiträge Access Tabellen & Abfragen: Tabellen automatische hinaufzählung 13 Hintifax 811 18. Jan 2009, 17:33
Marmeladenglas Tabellen automatische hinaufzählung
Keine neuen Beiträge Access Tabellen & Abfragen: automatische worterkennung 1 gastxs 1624 26. Nov 2008, 12:45
lleopard automatische worterkennung
Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten. Access Tabellen & Abfragen: Automatische Vergabe der Rechnungsnummer 1 PR06112 892 09. Jul 2008, 11:13
JoachimG Automatische Vergabe der Rechnungsnummer
Keine neuen Beiträge Access Tabellen & Abfragen: Automatische Ergänzung 6 maddin11477 813 07. Feb 2008, 12:31
maddin11477 Automatische Ergänzung
Keine neuen Beiträge Access Tabellen & Abfragen: Wie umgehe ich automatische Sortierungen in Abfragen??? 8 Hannes24 483 10. Sep 2007, 16:07
Hannes24 Wie umgehe ich automatische Sortierungen in Abfragen???
Keine neuen Beiträge Access Tabellen & Abfragen: Automatische zeichenbegrenzte Textübernahme Access 2000 DB 12 fizlipuzli 692 02. Jun 2007, 14:55
fizlipuzli Automatische zeichenbegrenzte Textübernahme Access 2000 DB
Keine neuen Beiträge Access Tabellen & Abfragen: Bei Eingabe der Postleitzahl automatische Anzeige des Ortes 3 proxximo 5175 21. Mai 2007, 19:47
jens05 Bei Eingabe der Postleitzahl automatische Anzeige des Ortes
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Access Tabellen