2016-03-30 6 views
0
Private Sub Command22_Click() 

    ' This section deals with grabbing the 3 calculations from qry_LiveOEE 
    Dim dbs As DAO.Database 
    Dim rst As DAO.Recordset 

    Set dbs = CurrentDb 

    'Open a dynaset-type Recordset using a saved query 
    Set rst = dbs.OpenRecordset("qry_LiveOEE", dbOpenDynaset) 

    rst.MoveFirst 
    numfg_posted = rst!SumOfqty_complete 
    numOEE = rst!OEE 
    numpp_lhr = rst!ACT_PPLHR 

    rst.Close 
    dbs.Close 

    Set rst = Nothing 
    Set dbs = Nothing 

Ich erhalte eine Fehlermeldung, dass Too few parameters. Expected 4. Diese Abfrage 5 Dinge in den Kriterien Abschnitt (Entwurfsansicht) hat, also warum es sagt, ich 4 Parameter müssen?Access VBA: Öffnen der Datensatzgruppe bittet um 4 Parameter

die 5 Dinge im Abschnitt Kriterien (alle unter verschiedenen Bereichen) sind:

  1. Eingang von einem Formular
  2. Eingabe von einem Formular
  3. Switch-Anweisung auf dem gegenwärtigen Zeitpunkt
  4. Datum ()
  5. nicht NULL ist
+0

vielleicht ist rst.OpenRecordset() – SnakeFoot

+0

Check diesen Link für weitere Informationen aus: http: //stackoverflow.com/questions/6034959/open-recordset-in-access-2003-2007 – SnakeFoot

Antwort

2

Versuchen Sie, diese (nicht tes ted) Aktualisierung auf den Code:

Private Sub Command22_Click() 

    ' This section deals with grabbing the 3 calculations from qry_LiveOEE 
    Dim dbs As DAO.Database 
    Dim rst As DAO.Recordset 
    Dim qdf AS DAO.QueryDef 
    Dim prm As DAO.Parameter 

    Set dbs = CurrentDb 

    Set qdf = dbs.QueryDefs("qry_LiveOEE") 
    For Each prm In qdf.Parameters 
     prm.Value = Eval(prm.Name) 
    Next prm 
    Set rst = qdf.OpenRecordset 

    rst.MoveFirst 
    numfg_posted = rst!SumOfqty_complete 
    numOEE = rst!OEE 
    numpp_lhr = rst!ACT_PPLHR 

    rst.Close 
    dbs.Close 

    Set rst = Nothing 
    Set dbs = Nothing 

Stellen Sie sicher, dass alle Werte in den Parametern verfügbar sind - d. h. das Formular ist geöffnet.

+1

@ whatin1992: oder unter http: //stackoverflow.com/a/32118340/3820271 Wenn Sie dies regelmäßig benötigen. – Andre

+2

Yep, zog es aus meiner eigenen Funktion, die etwas Ähnliches tut (aber auch nach Excel exportiert) - eine Änderung, die ich an den Link machen würde ist, dass die Parameter Teil einer Sammlung sind, so kann ein 'For ... Each' verwenden Konstruieren statt ein 'For ... Next'. –

+0

Arbeitete wie ein Charme, danke! – whatin1992

Verwandte Themen