Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Hilfe mit SQL String

Begonnen von silentwolf, Mai 21, 2016, 11:50:57

⏪ vorheriges - nächstes ⏩

silentwolf

Hi Leute,

ich bräuchte bitte Hilfe mit folgenden Code..
Sub CopyDataFromDatabase()
    Dim MeineDBConn As ADODB.Connection
    Dim MeineData As ADODB.Recordset
    Dim ObjektField As ADODB.Field
   
    Set MeineDBConn = New ADODB.Connection
    Set MeineData = New ADODB.Recordset
   
    MeineDBConn.ConnectionString = ConStrAccess
    MeineDBConn.Open
   
    On Error GoTo CloseConnection
   
    With MeineData
        .ActiveConnection = MeineDBConn
'        .Source = "SELECT Obje_ID, Obje_Adresse, Obje_Name, Obje_FixAuftrag  FROM tblObjekte ORDER BY Obje_Name ASC;"
        .Source = GetSQLString
        .LockType = adLockReadOnly
        .CursorType = adOpenForwardOnly
        .Open
    End With
       
    On Error GoTo CloseRecordset
   
    Worksheets.Add
   
    For Each ObjektField In MeineData.Fields
        ActiveCell.Value = ObjektField.Name
        ActiveCell.Offset(0, 1).Select

    Next ObjektField
   
    Range("A1").Select
    Range("A2").CopyFromRecordset MeineData
    Range("A1").CurrentRegion.EntireColumn.AutoFit
   
    On Error GoTo 0
CloseRecordset:
    MeineData.Close
   
CloseConnection:
    MeineDBConn.Close
   
End Sub


Function GetSQLString() As String
    Dim strOrt As String
    Dim SQLString As String
   
    strOrt = Application.InputBox("Ort eintragen!", Type:=2)
               
    SQLString = "SELECT Obje_ID, Obje_Name, Obje_Adresse, Obje_Ort, Obje_FixAuftrag " & _
                "FROM tblObjekte " & _
                "WHERE Obje_Ort = strOrt" & _
                "ORDER BY Obje_Name ASC;"
                           
    GetSQLString = SQLString
   
End Function


Die obere Function soll den SQL string als Parameter für die Prozedur verwenden.

Leider bekomme ich es nicht hin das die Variable strOrt mir diese zurück gibt.

Also der Fehler it in der Function in der WHERE Clause...

Sollte nicht so schwieirig sein wenn man weis wie :( Leider hab ich noch keinen Erfolg gehabt es zu schaffen!

Würde mich freuen wenn mir jemand den Fehler sagen könnte.

Vielen Dank

Silentwolf

DF6GL

Hallo,



Function GetSQLString() As String
    Dim strOrt As String
    Dim SQLString As String
   
    strOrt = Application.InputBox("Ort eintragen!", Type:=2)
               
    SQLString = "SELECT Obje_ID, Obje_Name, Obje_Adresse, Obje_Ort, Obje_FixAuftrag " & _
                "FROM tblObjekte " & _
                "WHERE Obje_Ort = '" & strOrt & "' " & _
                "ORDER BY Obje_Name ASC;"
                           
    GetSQLString = SQLString
   
End Function




Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

silentwolf

Hallo Franz,

Vielen Dank! Super es funktioniert einwandfrei!!

Schöne Grüße!