Ergebnis 1 bis 15 von 54

Thema: Übergabe an Access

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registriert seit
    17.11.2005
    Beiträge
    23
    Hallo,

    Wenn ich den Text so in Visual Basic eingebe bekomme ich die Fehlermeldung

    "Fehler beim Kompielieren: Sub oder Function nicht definiert"

    Woran kann das liegen?



    Hier mal mein Code wie ich ihn eingegeben habe:


    Private Sub Form_Load()
    Dim ServerIP As String
    ServerIP = "localhost"
    Winsock1.Connect ServerIP, 9300
    End Sub

    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim Eingangstext As String
    Winsock1.GetData Eingangstext 'Die Variable "Eingangstext" enthält jetzt das Telegramm

    Dim Eingang() As String
    Eingang() = Split(Eingangstext, Chr$(9))
    'Die Variablen "Eingang(0)", "Eingang(1), "Eingang (...)" enthalten jetzt die einzelnen Felder

    'Quittungen überspringen, wenn gewünscht
    If Eingang(0) = "FMSTlg" Then
    If Eingang(6) = "14" Or Eingang(6) = "15" Then
    Exit Sub
    End If
    End If

    'Jetzt werden die Felder in die Tabelle "Eingangstabelle" mit den Feldern

    Eingangsdatum
    Art
    Richtung
    Adresse
    Status
    Eingangsmeldung

    schreiben

    Set FMS = CurrentDb.OpenRecordset("Eingangstabelle")
    FMS.AddNew

    If Eingang(0) = "ZVEI" Then
    FMS!Eingangsdatum = Now()
    FMS!Art = "Z"
    FMS!Richtung = "an"
    FMS!Adresse = Eingang(1)
    End If

    If Eingang(0) = "FMSTlg" Then
    FMS!Eingangsdatum = Now()
    FMS!Art = Eingang(9)
    FMS!Adresse = Eingang(1)
    If Eingang(8) = "0" Then
    FMS!Richtung = "von"
    Else
    FMS!Richtung = "an"
    End If
    FMS!Status = Eingang(6)
    FMS!Eingangsmeldung = Eingang(13)
    End If

    FMS.Update
    FMS.Close
    Set FMS = Nothing


    End Sub


    MFG
    Christian

  2. #2
    inselhopper Gast
    Moin.

    Hast du das ActiveX Steuerelement im Formular eingebaut und es auch den Namen "Winsock1" gegeben?

  3. #3
    Registriert seit
    17.11.2005
    Beiträge
    23
    also ich habe über Projekt>>Komponenten das Microsoft Winsock Control eingefügt.
    Das funktioniert soweit auch ganz gut.
    Wenn ich den Code mal nur so weit eingebe...

    Private Sub Form_Load()
    Dim ServerIP As String
    ServerIP = "localhost"
    Winsock1.Connect ServerIP, 9300
    End Sub

    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim Eingangstext As String
    Winsock1.GetData Eingangstext 'Die Variable "Eingangstext" enthält jetzt das Telegramm

    Dim Eingang() As String
    Eingang() = Split(Eingangstext, Chr$(9))
    'Die Variablen "Eingang(0)", "Eingang(1), "Eingang (...)" enthalten jetzt die einzelnen Felder

    End Sub



    ...kann ich die Variable "Eingangstext" ausgeben und erhallte das komplette Telegramm.

    Mit dieser Split Funktion funktioniert es nur leider nicht...
    Ick kann z.B. Die Variable "Eingang(0)" ausgeben und bekomme die Art des Telegramm also z.b. "FMSTlg".
    Mit der Variable "Eingang(1) funktioniert es nicht.
    Ich bekomme die Fehlermeldung "Index auserhalb des Gültigen Bereich"

    Hab ich Irgendetwas falsch gemacht oder vergessen?

    Mfg

  4. #4
    inselhopper Gast
    Müsste eigentlich gehen.

    Wie gibst du denn Eingang(*) aus?

  5. #5
    Registriert seit
    17.11.2005
    Beiträge
    23
    hab es einfach nur mal zum test in einer MsgBox ausgegeben.

  6. #6
    inselhopper Gast
    poste mal den genauen Code

  7. #7
    Registriert seit
    17.11.2005
    Beiträge
    23
    Also so funktioniert es:

    Private Sub Form_Load()
    Dim ServerIP As String
    ServerIP = "localhost"
    Winsock1.Connect ServerIP, 9300
    End Sub

    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim Eingangstext As String
    Winsock1.GetData Eingangstext 'Die Variable "Eingangstext" enthält jetzt das Telegramm

    Dim Eingang() As String
    Eingang() = Split(Eingangstext, Chr$(9))
    'Die Variablen "Eingang(0)", "Eingang(1), "Eingang (...)" enthalten jetzt die einzelnen Felder

    MsgBox Eingang(0)

    End Sub


    Ich bekomme z.B. bei einem Status ein Fenster geöfnet mit dem Inhalt "FMSTlg"

    --------------------------------------------------------------------------------------
    So funktioniert es nicht:
    Private Sub Form_Load()
    Dim ServerIP As String
    ServerIP = "localhost"
    Winsock1.Connect ServerIP, 9300
    End Sub

    Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
    Dim Eingangstext As String
    Winsock1.GetData Eingangstext 'Die Variable "Eingangstext" enthält jetzt das Telegramm

    Dim Eingang() As String
    Eingang() = Split(Eingangstext, Chr$(9))
    'Die Variablen "Eingang(0)", "Eingang(1), "Eingang (...)" enthalten jetzt die einzelnen Felder

    MsgBox Eingang(1)

    End Sub


    Also mit "Eingang(1) bekomme ich schon eine Fehlermeldung wenn ich das "Programm" starte.

    Eigentlich könnte es doch nur ein Fehler beim Spliten sein oder???
    Bin was sowas angeht auch nicht so der Experte... bin halt nur son bischen am üben.
    Mein Ziel ist es ein kleines Programm zu schreiben das mir die Alarmierungen(5-Ton), Status und die FMS Leitstellentexte in eine MySql Datenbank schreibt.
    Also im prinzip fast so etwas wie das Programm das man hier in diesem Thread schon runterladen kann.

    Mfg

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •