tutorials.de Buch-Aktion 05/2012
Like Tree2Danke
  • 1 Beitrag von tombe
  • 1 Beitrag von tombe
ERLEDIGT
NEIN
ANTWORTEN
8
ZUGRIFFE
1327
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Willi_Kaiser Willi_Kaiser ist offline Mitglied Bronze
    Registriert seit
    Oct 2010
    Beiträge
    44
    Hallo,

    Ich habe mir die SuFu gurchgeschaut so wie google gefragt, aber nichts hat mir bissher geholfen.

    Ich möchte ganz einfach einen Knopf in access drücken, dann sollte ein Fenster erscheinen wo ich eine Datei suchen kann und wenn ich sie gefunden habe bestätige ich und diese wird dann in meine Tabelle X in meiner Datenbank eigefügt.
    Ganz wichtig ist es das ich die Datei suchen kann und nicht den namen vorher im quelltext angeben muss.

    Habe Windows 7 Home Premium.

    ich habe bissher das hier:

    Dim Auswahl As Long

    Auswahl = MsgBox("Wenn Sie JA klicken, wird der aktuelle Tabelleninhalt gelöscht und durch einen aktuellen ersetzt! Bei NEIN wird der Vorgang abgebrochen!", _
    vbYesNoCancel + vbQuestion + vbDefaultButton1, "Frage")
    Select Case Auswahl
    Case vbNo
    Cancel = True
    Exit Sub

    Case vbYes
    DoCmd.SetWarnings False
    'Tabelle Datendetails
    DoCmd.TransferSpreadsheet acImport, 8, _
    "CN38", "C:\Datenbank\CN38_TE.xls", True, ""
    Beep
    MsgBox "Daten erfolgreich eingespielt.", vbInformation, "IMPORT EXCEL"
    DoCmd.SetWarnings True

    End Select

    Mit freundlichen Grüßen
    Willii Kaiser
    Geändert von Willi_Kaiser (24.11.10 um 11:42 Uhr)
     

  2. #2
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Schau mal hier. Da wird erklärt wie ein Dialog zum Öffnen bestimmter Dateien erstellt wird.
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  3. #3
    Willi_Kaiser Willi_Kaiser ist offline Mitglied Bronze
    Registriert seit
    Oct 2010
    Beiträge
    44
    hey, danke dir für deine schnelle antwort, nur verstehe ich nix von dem was in diesem Link steht. :P
    es sollte echt nur etas sehr simples werden, fenster erschein ich wähle eine datei aus und diese wird in eine Tabelle importiert.
     

  4. #4
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Ok, zweiter Versuch.

    Hier ist ebenfalls beschrieben wie du mit Access eigenen Mitteln (zumindest fast) ein Dialogfenster zum Auswählen einer Datei erstellen kannst.
    Gehe das mal Schritt für Schritt durch, dann sollte es auch ohne großes Wissen in VBA zu schaffen sein.

    Mal sehen ich muss gleich weg, aber vielleicht reicht mir nacher die Zeit dann mach ich ein Beispiel.

    Gruß Thomas
     
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  5. #5
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    So ich habe mir jetzt mal den Code des ersten Links genommen und es klappt damit wunderbar.

    Du erstellst in der Datenbank ein neues Modul und fügst folgenden Code einfach ein:

    Code vb:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    
    Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
     
    Type OPENFILENAME
        lStructSize As Long
        hwndOwner As Long
        hInstance As Long
        lpstrFilter As String
        lpstrCustomFilter As String
        nMaxCustFilter As Long
        nFilterIndex As Long
        lpstrFile As String
        nMaxFile As Long
        lpstrFileTitle As String
        nMaxFileTitle As Long
        lpstrInitialDir As String
        lpstrTitle As String
        Flags As Long
        nFileOffset As Integer
        nFileExtension As Integer
        lpstrDefExt As String
        lCustData As Long
        lpfnHook As Long
        lpTemplateName As Long
    End Type
     
    Public Const OFN_FILEMUSTEXIST = &H1000
    Public Const OFN_READONLY = &H1
    Public Const OFN_HIDEREADONLY = &H4
     
    Public Function DateiOeffnen(Optional Titel, Optional Filter, Optional DefExtension, Optional AktDir) As String
        Dim strDateiname As String
        Dim strDlgTitel As String
        Dim strFilter As String
        Dim strDefExtension As String
        Dim strAktDir As String
        Dim strNull As String
        Dim OpenDlg As OPENFILENAME
        strNull = Chr$(0)
        strDateiname = String$(512, 0)
        If IsMissing(Titel) Then
            strDlgTitel = "Datei öffnen" & strNull
        Else
            strDlgTitel = Titel & strNull
        End If
     
        If IsMissing(Filter) Then
            strFilter = "Alle Dateien" & strNull & "*.*" & strNull & strNull
        Else
            strFilter = Filter & strNull
        End If
     
        If IsMissing(DefExtension) Then
            strDefExtension = strNull
        Else
            strDefExtension = DefExtension & strNull
        End If
     
        If IsMissing(AktDir) Then
            strAktDir = CurDir$ & strNull
        Else
            strAktDir = AktDir & strNull
        End If
     
        With OpenDlg
            .lStructSize = Len(OpenDlg)
            .hwndOwner = Screen.ActiveForm.Hwnd
            .lpstrFilter = strFilter
            .nFilterIndex = 1
            .lpstrFile = strDateiname
            .nMaxFile = Len(strDateiname)
            .lpstrInitialDir = strAktDir
            .lpstrTitle = strDlgTitel
            .Flags = OFN_FILEMUSTEXIST Or OFN_READONLY
            .lpstrDefExt = strDefExtension
     
            If GetOpenFileName(OpenDlg) <> 0 Then
                DateiOeffnen = Left$(.lpstrFile, InStr(.lpstrFile, strNull) - 1)
            Else
                DateiOeffnen = ""
            End If
        End With
    End Function

    Dann erstellst du in deinem Suchformular einen Button und ein Textfeld mit dem Namen "txtDatei" und fügst diesen Code in die Click-Prozedur des Buttons ein:

    Code vb:
    1
    2
    3
    4
    5
    
    Private Sub deinButton_Click()
    'den Text "Alle Dateien" und am Ende die Angabe "*.*" musst du für
    'deinen Dateityp anpassen
        Me.txtDatei = DateiOeffnen("Datei öffnen", "Alle Dateien" & Chr$(0) & "*.*")
    End Sub

    Wenn du das Formular nun öffnest und auf den Button klickst, dann öffnet sich das bekannte "Datei öffnen" Fenster und du kannst eine beliebige Datei auswählen.

    Gruß Thomas
    Willi_Kaiser bedankt sich. 
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  6. #6
    Willi_Kaiser Willi_Kaiser ist offline Mitglied Bronze
    Registriert seit
    Oct 2010
    Beiträge
    44
    Hey hat alles wunderbar geklappt ich muss vor dir wieder mal denHut ziehen, warum wird das den in den Tutorial nicht so einfach erklärt

    Hätte dennoch ne Frage, wie baue ich den eine abbruchsequenz ein d.h.
    der bunutzer drückt auf importieren und kommt auf dieslogfenster, dann will er doch nciht mehr und drückt auf abbrechen. genau jetzt kommt dann ein laufzeit fehler. diesen will ich vermeiden, deswegen soll dann statt den laufzeit fehler eine msgbox kommen mit" abbruch durch benutzer" oder so wie ist der richtige Syntax für sowas
     

  7. #7
    Avatar von tombe
    tombe tombe ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2004
    Ort
    Möglingen (BaWü)
    Beiträge
    3.109
    Also ich würde enfach in der Click-Prozedur des Buttons prüfen ob ein Dateiname zurückgegeben wird oder nicht.

    Code vb:
    1
    2
    3
    4
    5
    6
    7
    8
    
    Private Sub deinButton_Click()
        datei$ = DateiOeffnen("Datei öffnen", "Alle Dateien" & Chr$(0) & "*.*")
        If datei$ = "" Then
            MsgBox "Es wurde keine Datei ausgewählt", vbOKOnly, "Fehler beim Öffnen"
        Else
            Me.txtDatei = datei$
        End If
    End Sub
    Geändert von tombe (25.11.10 um 12:35 Uhr)
    Willi_Kaiser bedankt sich. 
    Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.

    Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.

  8. #8
    Willi_Kaiser Willi_Kaiser ist offline Mitglied Bronze
    Registriert seit
    Oct 2010
    Beiträge
    44
    Alles funktioniert wunderbar
    Danke noch mal !
     

  9. #9
    Willi_Kaiser Willi_Kaiser ist offline Mitglied Bronze
    Registriert seit
    Oct 2010
    Beiträge
    44
    Hey ich bins mal wieder, ich habe nun das Programm als Access 2003 abgespeichert, da derjenige der es benutzt nur Access 2003 besitzt. Nun kommt es immer zu einem Fehler den ich gleich noch ein mal posten werde, habe den nicht im Kopf. Vielleicht kannst du aber auch ohne die Beschreibung damit etwas anfangen.

    Mit freudlichen Grüßen
    Willi
     

Ähnliche Themen

  1. Problem mit Verknüpfung von Access 2007 mit Excel
    Von Darko1 im Forum Relationale Datenbanksysteme
    Antworten: 10
    Letzter Beitrag: 24.03.10, 14:24
  2. Excel 2007 und CSV Dateien - Formatierung wird zerstört
    Von Gladiator6 im Forum Office-Anwendungen
    Antworten: 2
    Letzter Beitrag: 08.06.09, 20:30
  3. Antworten: 11
    Letzter Beitrag: 10.12.08, 10:33
  4. Excel: Text, Access Import
    Von dignsag im Forum Visual Basic 6.0
    Antworten: 0
    Letzter Beitrag: 05.07.05, 15:51
  5. automatischer Import von Access Tabelle in MS SQL DB ?
    Von bluesbounce im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 30.03.04, 12:29

Stichworte