Frage : Beim Benennen des SQL-gespeicherten Verfahrens vom Zugang helfen

Hallo ist aller, dieser mein erster Versuch am Nennen eines SQL-gespeicherten Verfahrens vom Zugang zu etwas vermutlich tun wirklich dumm.  Gewesen, das versucht, oben auf, wie man zu lesen gespeicherte Verfahren und kontroverse Informationen also diese das erhält, Beste benennt, das ich mit aufkommen könnte:

verdunkeln DB als Database
schwaches sqlExpr als String
schwache rs während das gesetzte Recordset

DB = CurrentDb ()
sqlExpr = „VERFAHREN getWastePrice „“ u. Formen! [frmOutgoing]! [ShipDate]. Value u. „“, „u. HazWasteID
MsgBox (sqlExpr)
gesetzte rs = db.OpenRecordset (sqlExpr, dbOpenSnapshot, dbSQLPassThrough)

The Fehlermeldung, die ich erhalte, ist „Syntaxstörung in der PARAMETER-Klausel "

Now ich das MsgBox innen dort eingesetzt habe, also kann ich sehen, dass was der sqlExpr Wert ist und er as

PROCEDURE getWastePrice „02/02/2010“ zurückkommt, ist 118

Which, was ich erwarten würde.  So ist was mit meiner Syntax falsch?

Open zu anderem, bessere Weisen des Nennens der gespeicherten Verfahren mit Parametern die Rückholvalues.

Thanks.

Antwort : Beim Benennen des SQL-gespeicherten Verfahrens vom Zugang helfen

Gut wenn Sie den Code unten in ein neues Modul und dann kleben, Sie frei sein, es nach Belieben zu benennen.
Z.B. verwenden:

   Schwaches qdf als DAO.QueryDef
   Schwaches rst als DAO.Recordset
   Schwaches strSQL als Schnur

   strSQL = „EXEC getWastePrice „“ u. Formen! [frmOutgoing]! [ShipDate]. Wert u. „“, „u. HazWasteID
   Qdf = fCreatePassThrough ("", strSQL, „YourDBName“, „YourServerName“, zutreffend) einstellen
   Rst = qdf.OpenRecordset einstellen
   
   Debug.Print rst (0) 'tun, was auch immer Sie hier benötigen

   rst. Abschluss
   Rst einstellen = nichts
   Qdf einstellen = nichts

Sehen, wenn das Ihnen sinnvoll ist.

Beifall.

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:
Funktion fCreatePassThrough (strName als Schnur, strSQL als Schnur, strDBname als Schnur, _
                        strServer als Schnur, wahlweise freigestelltes blnIntegratedSecurity, wie Boolesch, _
                        Wahlweise freigestelltes strUserName als Schnur, wahlweise freigestelltes strPassword als Schnur, _
                        Wahlweise freigestellte blnReturnsRecords, wie Boolesch, = zutreffendes, wahlweise freigestelltes strDriver als Schnur = „{SQL-Server} ") als DAO.QueryDef
    
    Schwaches DB als Datenbank
    Schwaches qdf als QueryDef
    Schwaches strConnect als Schnur
    
    strConnect = „ODBC; Driver=“ u. strDriver u.“; Server= " u. strServer u. „; Database=“ u. strDBname
    Wenn blnIntegratedSecurity dann
        strConnect = strConnect u. „; Trusted_Connection=Yes“
    Sonst
        Wenn Len (strUserName) > 0 und Len (strPassword) > 0 dann
            strConnect = strConnect u. „; UID=“ u. strUserName u.“; PWD= " u. strPassword
        Beenden wenn
    Beenden wenn
    
    Einstellen DB = CurrentDb
    Qdf = db.CreateQueryDef (strName) einstellen

    Mit qdf
        .ReturnsRecords = blnReturnsRecords
        . Anschließen = strConnect
        .sql = strSQL
        .ODBCTimeout = 60
    Ende mit
    fCreatePassThrough = qdf einstellen
    
    Qdf einstellen = nichts
    Einstellen DB = nichts
    
Funktion beenden
Weitere Lösungen  
 
programming4us programming4us