Discussione:
Errore run time 5
(troppo vecchio per rispondere)
Motore
2007-07-16 15:23:37 UTC
Permalink
Con la subroutine sotto riportata mi da errore alla riga seguente:

elenco1.RowSource = Left(elenco1l.RowSource,
Len(elenco1.RowSource) - 1)

mi da errore run time 5
chiamata di routine o argomenti non validi.

e in corrispondenza della riga MyName = Dir(MyPath)
trovo sempre MyName = ""
La subroutine é:

Public Function FillListFiles(ctl As Object, Startpath As string)

Dim MyPath As String
Dim MyName As String
MyPath = "C:\DMI\"
elenco1 .RowSource = ""
MyPath = Startpath
MyName = Dir(MyPath)
Do While MyName <> ""
With elenco1
.RowSource = .RowSource & MyName & ";"
End With
MyName = Dir
Loop
elenco1.RowSource = Left(elenco1l.RowSource,
Len(elenco1.RowSource) - 1)
End Function

Ho selezionato in Strumenti di VBA ---->Riferimenti :

- Visual Basic for appication
- Microsofot 11.0 Object librery
- Microsoft DAO 3.6
- OLE Automation
Grazie
Roberto da Parma
2007-07-16 18:48:28 UTC
Permalink
Post by Motore
elenco1.RowSource = Left(elenco1l.RowSource,
Len(elenco1.RowSource) - 1)
mi da errore run time 5
chiamata di routine o argomenti non validi.
e in corrispondenza della riga MyName = Dir(MyPath)
trovo sempre MyName = ""
Public Function FillListFiles(ctl As Object, Startpath As string)
Dim MyPath As String
Dim MyName As String
MyPath = "C:\DMI\"
elenco1 .RowSource = ""
MyPath = Startpath
MyName = Dir(MyPath)
Do While MyName <> ""
With elenco1
.RowSource = .RowSource & MyName & ";"
End With
MyName = Dir
Loop
elenco1.RowSource = Left(elenco1l.RowSource,
Len(elenco1.RowSource) - 1)
End Function
- Visual Basic for appication
- Microsofot 11.0 Object librery
- Microsoft DAO 3.6
- OLE Automation
Grazie
A me non da errore...non so se hai copiato male ma se porti la riga a capo
devi fare così..

elenco1.RowSource = Left(elenco1l.RowSource, & _
Len(elenco1.RowSource) - 1)

Ciao
--
Roberto da Parma
Sandro Peruz
2007-07-16 18:54:41 UTC
Permalink
Post by Motore
elenco1.RowSource = Left(elenco1l.RowSource,
Len(elenco1.RowSource) - 1)
mi da errore run time 5
chiamata di routine o argomenti non validi.
e in corrispondenza della riga MyName = Dir(MyPath)
trovo sempre MyName = ""
Public Function FillListFiles(ctl As Object, Startpath As string)
Dim MyPath As String
Dim MyName As String
MyPath = "C:\DMI\"
elenco1 .RowSource = ""
MyPath = Startpath
MyName = Dir(MyPath)
Do While MyName <> ""
With elenco1
.RowSource = .RowSource & MyName & ";"
End With
MyName = Dir
Loop
elenco1.RowSource = Left(elenco1l.RowSource,
Len(elenco1.RowSource) - 1)
End Function
- Visual Basic for appication
- Microsofot 11.0 Object librery
- Microsoft DAO 3.6
- OLE Automation
Grazie
Ciao Motore,
elenco11 o elenco 1 ? probabilmente il problema sta li, ma visto il mio
digiuno da Acces protrei sbagliarmi.
Ciao, Sandro.
Motore
2007-07-17 06:17:55 UTC
Permalink
Post by Motore
Post by Motore
elenco1.RowSource = Left(elenco1l.RowSource,
Len(elenco1.RowSource) - 1)
mi da errore run time 5
chiamata di routine o argomenti non validi.
e in corrispondenza della riga MyName = Dir(MyPath)
trovo sempre MyName = ""
Public Function FillListFiles(ctl As Object, Startpath As
string)
Post by Motore
Dim MyPath As String
Dim MyName As String
MyPath = "C:\DMI\"
elenco1 .RowSource = ""
MyPath = Startpath
MyName = Dir(MyPath)
Do While MyName <> ""
With elenco1
.RowSource = .RowSource & MyName & ";"
End With
MyName = Dir
Loop
elenco1.RowSource = Left(elenco1l.RowSource,
Len(elenco1.RowSource) - 1)
End Function
- Visual Basic for appication
- Microsofot 11.0 Object librery
- Microsoft DAO 3.6
- OLE Automation
Grazie
Ciao Motore,
elenco11 o elenco 1 ? probabilmente il problema sta li, ma visto il mio
digiuno da Acces protrei sbagliarmi.
Ciao, Sandro.
Niente da fare ho sistemato sia elenco11 in elenco1 così :

elenco1.RowSource =
Left(elenco1.RowSource,Len(elenco1.RowSource) - 1)

ma l'errore continua , inoltre in corrispondenza di :

MyName = Dir(MyPath)
il valore di MyName = "" quando faccio il debug.
Grazie
Access
2007-07-17 09:12:38 UTC
Permalink
Ciao Motore,
Post by Motore
Post by Motore
Post by Motore
elenco1.RowSource = Left(elenco1l.RowSource,
Len(elenco1.RowSource) - 1)
mi da errore run time 5
chiamata di routine o argomenti non validi.
e in corrispondenza della riga MyName = Dir(MyPath)
trovo sempre MyName = ""
Public Function FillListFiles(ctl As Object, Startpath As
string)
Post by Motore
Dim MyPath As String
Dim MyName As String
MyPath = "C:\DMI\"
elenco1 .RowSource = ""
MyPath = Startpath
MyName = Dir(MyPath)
Do While MyName <> ""
With elenco1
.RowSource = .RowSource & MyName & ";"
End With
MyName = Dir
Loop
elenco1.RowSource = Left(elenco1l.RowSource,
Len(elenco1.RowSource) - 1)
End Function
- Visual Basic for appication
- Microsofot 11.0 Object librery
- Microsoft DAO 3.6
- OLE Automation
Grazie
Ciao Motore,
elenco11 o elenco 1 ? probabilmente il problema sta li, ma visto il mio
digiuno da Acces protrei sbagliarmi.
Ciao, Sandro.
elenco1.RowSource =
Left(elenco1.RowSource,Len(elenco1.RowSource) - 1)
MyName = Dir(MyPath)
il valore di MyName = "" quando faccio il debug.
Grazie
L'errore te lo da perche' la cartella da te indicata nel codice non contiene
alcun file.
Post by Motore
Post by Motore
Post by Motore
Public Function FillListFiles(ctl As Object, Startpath As
string)
Post by Motore
Dim MyPath Dim MyName As String
MyPath = "C:\DMI\"
elenco1 .RowSource = ""
MyPath = Startpath
MyName = Dir(MyPath)
If MyName = "" Then
Me!Elenco10.RowSource = "nessun file presente"
Exit Sub
Else
Post by Motore
Post by Motore
Post by Motore
Do While MyName <> ""
With elenco1
.RowSource = .RowSource & MyName & ";"
End With
MyName = Dir
Loop
elenco1.RowSource = Left(elenco1l.RowSource,
Len(elenco1.RowSource) - 1)
End Function
Ciao
Access
Access
2007-07-17 09:15:05 UTC
Permalink
-cut-

ovviamente in questa if devi cambiare la denominazione del controllo con
quella del tuo.
Post by Access
If MyName = "" Then
Me!Elenco10.RowSource = "nessun file presente"
Exit Sub
Else
Post by Motore
Do While MyName <> ""
With elenco1
.RowSource = .RowSource & MyName & ";"
End With
MyName = Dir
Loop
elenco1.RowSource = Left(elenco1l.RowSource,
Len(elenco1.RowSource) - 1)
End Function
Ciao
Access
Motore
2007-07-17 09:45:37 UTC
Permalink
Post by Access
-cut-
ovviamente in questa if devi cambiare la denominazione del controllo con
quella del tuo.
Post by Access
If MyName = "" Then
Me!Elenco10.RowSource = "nessun file presente"
Exit Sub
Else
Post by Motore
Do While MyName <> ""
With elenco1
.RowSource = .RowSource & MyName & ";"
End With
MyName = Dir
Loop
elenco1.RowSource = Left(elenco1l.RowSource,
Len(elenco1.RowSource) - 1)
End Function
Ciao
Access
O.K. e Grazie 1000 ora funziona avevi perfettamente
ragione
la directory Non conteneva file.
Grazie.
Loading...