Kennt sich jemand mit VBA und Access aus?

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.

BBCode ist ausgeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Ansicht erweitern Die letzten Beiträge des Themas: Kennt sich jemand mit VBA und Access aus?

Re: Kennt sich jemand mit VBA und Access aus?

von bodo » 11 Okt 2009, 12:47

Niemals rückgabewerte einer String-Funktion so umbauen, bis es passt. Das is gefährlich. Lieber die Doku lesen:


http://msdn.microsoft.com/en-us/library ... 11%29.aspx

GUID => String : StringFromGUID
String => GUID : GUIDFromString

Beispiel aus der Doku:

Code: Alles auswählen

Sub CheckGUIDType()

    Dim dbsConn As ADODB.Connection
    Dim rstEmployees As ADODB.Recordset

    ' Make a connection to the current database.
    Set dbsConn = Application.CurrentProject.Connection
    Set rstEmployees = New ADODB.Recordset
    rstEmployees.Open "Employees", dbsConn, , , adCmdTable

    ' Print the GUID to the immediate window.
    Debug.Print rst!s_GUID
    Debug.Print TypeName(rst!s_GUID)
    Debug.Print TypeName(GuidFromString(rst!s_GUID))

    Set rstEmployees = Nothing
    Set dbsConn = Nothing

End Sub
BTW: Ich kann kein Access/VBA. Das ist das letzte Tool, in dem ich was schreiben würde. Dreckszeug und sau gefährlich, da das Daten kaputt macht.

Re: Kennt sich jemand mit VBA und Access aus?

von Maria-Christine » 11 Okt 2009, 11:45

ah ja, dann müsste es so aussehen?

Code: Alles auswählen

rs.FindFirst "StringFromGUID([ActivityID]) = '" & _
           StringFromGUID(Mid"(Me![Liste21]),5) & "'"
...nachher mal ausprobieren

edit

nö, so geht das nicht (Haarerauf) :?

Re: Kennt sich jemand mit VBA und Access aus?

von Agrivaine » 11 Okt 2009, 10:08

Hi,
schön das sich Programmiersprachen doch ähneln :)
Schau dir mal "Mid" an: http://www.techonthenet.com/access/func ... ng/mid.php

Kennt sich jemand mit VBA und Access aus?

von Maria-Christine » 11 Okt 2009, 00:25

TV-B ist ja auch eine Datenbank und da, denke ich, finde ich vllt. hier jemanden der mir weiter helfen kann

Unter Access habe ich ein Listenfeld erstellt welches mir Suchergebnisse von einem CRM Server anzeigen soll,
das klappt natürlich prima, nur passiert nichts wenn ich auf einen gefundenen Datensatz klicke

Das Problem liegt an dem Format des Feldes zur Identifikation, es ist eine Zahl im Replikations-ID Format
und da kann Access nicht direkt mit umgehen/suchen
Es gibt zwar eine Funktion (StringFromGUID) mit dem man diese Zahl in einen String umwandeln kann
leider macht VBA das aber nicht für einen SQL-Server verständlich

Der Server erwartet für die eindeutige Identifizierung des Datensatzes so was: {a34fe40...usw} (ist eine 16 byte Zahl in hex)
Die Access Funktion macht leider nur die Umwandlung mit einem Vorsatz: {GUID{a34fe40...usw}}

Jetzt bastel ich schon lange daran rum nur den Wert ohne den Vorsatz in der Access Suche zu übergeben
der Code in VBA sieht zZ so aus.

Code: Alles auswählen

Private Sub Liste21_AfterUpdate()
    ' Den mit dem Steuerelement übereinstimmenden Datensatz suchen.
    Dim rs As Object

    Set rs = Me.Recordset.Clone
   
           rs.FindFirst "StringFromGUID([ActivityID]) = '" & _
           StringFromGUID(Me![Liste21]) & "'"

      If Not rs.EOF Then Me.Bookmark = rs.Bookmark
End Sub
ActivityID ist die GUID, Liste21 das Listenfeld wo die Suchergebnisse aufgelistet werden

eigentlich bräuchte man ja nur den String so filtern das vorne '{GUID' und hinten '}' bei Übergabe verschwinden
nur weis ich nicht wie das gehen kann.....

Nach oben