| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Dateiauswahl per Dropdownfeld (3152 mal gelesen)
|
vh_harley Mitglied Konstrukteur
 
 Beiträge: 108 Registriert: 31.10.2002
|
erstellt am: 23. Jun. 2006 08:40 <-- editieren / zitieren --> Unities abgeben:         
|
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2010, Rasterdesign MapGuide 6.5 - 2010 Oracle 9i,10g Enterprise autodesk Topobase 2-2010 VS6, VS.net
|
erstellt am: 23. Mai. 2007 09:13 <-- editieren / zitieren --> Unities abgeben:          Nur für vh_harley
|
vh_harley Mitglied Konstrukteur
 
 Beiträge: 108 Registriert: 31.10.2002
|
erstellt am: 23. Mai. 2007 09:20 <-- editieren / zitieren --> Unities abgeben:         
|
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2010, Rasterdesign MapGuide 6.5 - 2010 Oracle 9i,10g Enterprise autodesk Topobase 2-2010 VS6, VS.net
|
erstellt am: 23. Mai. 2007 11:57 <-- editieren / zitieren --> Unities abgeben:          Nur für vh_harley
Hallo Volker, eine Möglichkeit ist es eine Tabelle anzulegen und diese beim Laden des Formulars zu füllen. Ich habe eine Tabelle tmp_Datei mit dem Feldnamen Dateiname anlegt. In einem Formular habe ich ein ungebundenes Listenfeld (Liste) eingebunden und als Source die obige Tabelle eingestellt.
Code: Private Sub Form_Load() Dim rs As Recordset Dim Datei As String Set rs = New Recordset CurrentDb().Execute ("Delete from tmp_Datei") rs.Source = "tmp_Datei" rs.CursorType = adOpenDynamic rs.LockType = adLockOptimistic rs.ActiveConnection = CurrentProject.Connection rs.Open Datei = Dir("C:\Temp\*.*") While Datei <> "" rs.AddNew rs.Fields("Dateiname") = Datei rs.Update Datei = Dir Wend rs.Close Liste.Requery End Sub
Damit hast du die Dateien im Zugriff und kannst per Doppelklick oder Button damit machen was du willst.Wílfried Stelberg ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
vh_harley Mitglied Konstrukteur
 
 Beiträge: 108 Registriert: 31.10.2002
|
erstellt am: 23. Mai. 2007 14:28 <-- editieren / zitieren --> Unities abgeben:         
Hallo Wílfried ich habe die Prozedur angepasst. Leider bekomme ich immer eine Fehlermeldung in der Zeile Recordset.Source. Die Meldung lautet Laufzeitfehler "91" Objektvarialble oder With-Blockvariable nicht festgelegt. Private Sub Form_Load() Dim rs As Recordset Dim Datei As String Rem Set rs = New Recordset CurrentDb().Execute ("Delete from tmp_Datei") Recordset.Source = "tmp_Datei" Recordset.CursorType = adOpenDynamic Recordset.LockType = adLockOptimistic Recordset.ActiveConnection = CurrentProject.Connection Recordset.Open Datei = Dir("C:\ACAD-Temp\*.*") While Datei <> "" Recordset.AddNew Recordset.Fields("Dateiname") = Datei Recordset.Update Datei = Dir Wend Recordset.Close Liste.Requery End Sub[i][/i] Was ist falsch? Gruß Volker
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2010, Rasterdesign MapGuide 6.5 - 2010 Oracle 9i,10g Enterprise autodesk Topobase 2-2010 VS6, VS.net
|
erstellt am: 23. Mai. 2007 15:31 <-- editieren / zitieren --> Unities abgeben:          Nur für vh_harley
Hallo Volker, 1. das Wort RECORDSET ist ein reserviertes Schlüsselwort und darf nicht als Objekt- oder Variablenbezeichnung verwendet werden. 2. bevor ein Recordset verwendet werden kann muss eine neue Instanz angelegt werden. das kann man bei der Deklaration mit: DIM RS as NEW Recordset oder im Code mit: SET RS = NEW Recordset Ist so als willst du einen Eimer verwenden. In das Foto passt kein Wasser rein. Erst wenn du dir einen kaufts/baust der so aussieht wie auf dem Foto kannst du was damit machen. Code:
Private Sub Form_Load() Dim rs As Recordset Dim Datei As String Set rs = New Recordset CurrentDb().Execute ("Delete from tmp_Datei") rs.Source = "tmp_Datei" rs.CursorType = adOpenDynamic rs.LockType = adLockOptimistic rs.ActiveConnection = CurrentProject.Connection rs.Open Datei = Dir("C:\ACAD-Temp\*.*") While Datei <> "" rs.AddNew rs.Fields("Dateiname") = Datei rs.Update Datei = Dir Wend rs.Close Liste.Requery End Sub
versuchs mal so.Wilfried Stelberg
------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
vh_harley Mitglied Konstrukteur
 
 Beiträge: 108 Registriert: 31.10.2002
|
erstellt am: 23. Mai. 2007 15:45 <-- editieren / zitieren --> Unities abgeben:         
Hallo Wilfried, ich habe Probleme mit dem Schlüsselwort "New" Fehler beim kopilieren Unzulässige Verwendung des Schlüsselworts New Ich arbeite mit ACCESS 2003. Kann es hieran liegen? Gruß Volker Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2010, Rasterdesign MapGuide 6.5 - 2010 Oracle 9i,10g Enterprise autodesk Topobase 2-2010 VS6, VS.net
|
erstellt am: 23. Mai. 2007 15:55 <-- editieren / zitieren --> Unities abgeben:          Nur für vh_harley
Hallo Volker, habs gerade mal an einem anderen Rechner mit 2003 probiert. Ergänze mal wie unten. Access 2003 will wohl nicht nur wissen das der Eimer so aussehen soll, sondern das es einer aus Plastik ist
Code:
Dim rs As ADODB.Recordset Dim Datei As String Set rs = New ADODB.Recordset ...
Wilfried Stelberg------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
vh_harley Mitglied Konstrukteur
 
 Beiträge: 108 Registriert: 31.10.2002
|
erstellt am: 24. Mai. 2007 08:33 <-- editieren / zitieren --> Unities abgeben:         
|
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2010, Rasterdesign MapGuide 6.5 - 2010 Oracle 9i,10g Enterprise autodesk Topobase 2-2010 VS6, VS.net
|
erstellt am: 24. Mai. 2007 10:11 <-- editieren / zitieren --> Unities abgeben:          Nur für vh_harley
Hallo Volker, Liste steht für den Namen deines Listenfeldes bzw. deines Combofeldes welches du in dein Formular eingefügt hast. Im Entwurfsmodus kannst du den Namen des Steuerelementes unter Eigenschaften einstellen bzw. nachschauen. Umganz sicher zu gehen kannst du bei der Eingabe erst das Parentobjekt (me) gefolgt von einem Punkt (me.) eingeben. Dann erscheint im Dropdownfeld der Name des Controls. Viel Erfolg Wilfried Stelberg ------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
vh_harley Mitglied Konstrukteur
 
 Beiträge: 108 Registriert: 31.10.2002
|
erstellt am: 24. Mai. 2007 11:41 <-- editieren / zitieren --> Unities abgeben:         
|

| Arbeitsvorbereiter (m/w/d) | GEA ist einer der größten Systemanbieter für die nahrungsmittelverarbeitende Industrie sowie ein breites Spektrum weiterer Branchen mit einem Konzernumsatz von rund 5,2 Milliarden Euro in 2022. Das international tätige Technologieunternehmen konzentriert sich auf Maschinen und Anlagen sowie auf Prozesstechnik und Komponenten. Darüber hinaus bietet GEA nachhaltige Lösungen für anspruchsvolle Produktionsverfahren in unterschiedlichen Endmärkten und hält ein umfassendes Serviceportfolio bereit.... | Anzeige ansehen | Metallhandwerk |
|
Stelli1 Moderator Verm.-Ing.
    
 Beiträge: 1526 Registriert: 17.08.2005 Map 2000-2010, Rasterdesign MapGuide 6.5 - 2010 Oracle 9i,10g Enterprise autodesk Topobase 2-2010 VS6, VS.net
|
erstellt am: 05. Sep. 2007 13:28 <-- editieren / zitieren --> Unities abgeben:          Nur für vh_harley
Hallo Volker, hab noch was gefunden was eigentlich einfacher ist. hier noch die Kurzform ohne Tabelle und Recordset (wenn es denn nicht riesige Mengen an Daten sind) Code: Private Sub Form_Load() Dim Dateiliste As String Dim Datei As String Datei = Dir("C:\Temp\*.*") While Datei <> "" If Dateiliste = "" Then Dateiliste = Datei Else Dateiliste = Dateiliste & ";" & Datei End If Datei = Dir Wend ' Wenn nicht in den Eigenschaften eingestellt ist 'Liste.RowSourceType = "Wertliste" Liste.RowSource = Dateiliste End Sub
Wilfried Stelberg------------------ Warum lisp'eln wenn's auch anders geht. www.ib-stelberg.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |