Dateisuche und weiteres...

Servus!

Also ich hab das bis jetzt immer so gemacht:

Ich will die beiden Strings a und b an das Fromular frmTest übergeben:

Docmd.openform frmTest,acForm,,,,,a & "#" & b

...

in der From frmTest habe ich die beiden Argumente wieder mit

dim args() as String

args = Split(me.openArgs,"#")

"umgewandelt" ...

Gruß Tom
 
also, Formular Screen2:

.....
aPath = Text1
sPath = Text2

DoCmd.Close acForm, "Screen2", acSaveNo
DoCmd.OpenForm "Screen3", acForm, , , , , "aPath" & "#" & "sPath"


Screnn3:
....
Dim args() As String

args=Split(me.openargs,"#")
aPath1 = args(1)
sPath1 = args(2)

oder??

ich programmiere in access 97, glaub nicht das dieser die funktion split kennt.
funktioniert bei mir nicht ganz!!
 
Zuletzt bearbeitet:
Servus!

Normalerweise müßte Access 97 diese Split Funktion kennen ...

aber hier mal quick & dirty eine eigne Version ...

Code:
Dim str As String
Dim escapeChar As String
Dim anzahlEscapeChar As Integer
Dim i As Integer
Dim j As Integer
Dim StringBuffer() As String


escapeChar = "#"
str = "hallo#test"

For i = 1 To Len(str)
    If Mid(str, i, 1) = escapeChar Then
        anzahlEscapeChar = anzahlEscapeChar + 1
    End If
Next i

ReDim StringBuffer(anzahlEscapeChar + 1)

j = 1

For i = 1 To Len(str)
    
    If Mid(str, i, 1) = escapeChar Then
        j = j + 1
        i = i + 1
    End If
    
    StringBuffer(j) = StringBuffer(j) + Mid(str, i, 1)
    
Next i

Hier noch eine alternative:

http://www.kraasch.de/vba003.htm

Gruß Tom
 
Zuletzt bearbeitet:
habe das gefunden:

Dim fso As New FileSystemObject
Dim Folder As Folder
Dim sPath1 As String
Dim aPath1 As String
Dim sep As String
Dim i As Integer
Dim j As Integer
Dim ret() As Variant
Dim inp_str As String

inp_str = Me.OpenArgs
sep = "#"

i = 1: j = 0
ReDim Preserve ret(j)

Do While Mid(inp_str, i, 1) = sep
i = i + 1
Loop

Do
If Not Mid(inp_str, i, 1) = sep Then
ret(j) = ret(j) & Mid(inp_str, i, 1)
i = i + 1
Else
Do
i = i + 1
Loop While Mid(inp_str, i, 1) = sep
If i > Len(inp_str) Then Exit Do
j = j + 1
ReDim Preserve ret(j)
End If
Loop While i <= Len(inp_str)


aPath1 = ret(1)
sPath1 = ret(2)

Set Folder = fso.GetFolder(sPath1)
Folder.Copy aPath1

nur ich weiß nicht warum er mir bei inp_str = Me.OpenArgs einen Laufueitfehler ausgibt.
 
nö es steht nichts drinnen, obwohl meiner meinung nach die übergabe funktionieren sollte.

Private Sub Befehl10_Click()
Public sPath As String
Public aPath As String

sPath = Text2
aPath = Text5

DoCmd.Close acForm, "Screen2", acSaveNo
DoCmd.OpenForm "Screen3", , , , , , aPath & "#" & sPath


End Sub

oder muss ich die sub auch als public definieren??
 
hab den fehler gefunden. musste nur die variablen als dim und nicht als public definieren, keine ahung wieso.

danke für deine hilfe tom. bin jetzt ein ganzes stück weiter.

MfG :-)
 
Servus!

...uff das hab ich gar nicht gesehen ... ;-)

Mit dim deklarierst du eine Variable ... Public ist nur ein sogenannter Sichtbarkeitsmodifier ...

Gruß Tom
 
Zurück