2016-07-26 28 views
0

ich habe MS Access Abfrage wie folgt:Standardwert für Parameter Ms Access Query

PARAMETERS prmORIGINCODE Text (255), 
      prmORIGIN Text (255), 
      prmSERVICECODE Text (255), 
      prmDESTINATION Text (255), 
      prmDESTCODE Text (255), 
      prmSTARTDATE Text (255), 
      prmENDDATE Text (255); 

SELECT 
    SUMMARY.DEST_CITY, 
    SUMMARY.DESTINATION, 
    Count(SUMMARY.CNOTE_NO) AS CountOfCNOTE_NO 
FROM SUMMARY 
WHERE (
     (
      (SUMMARY.ORIGIN_CODE) = [prmORIGINCODE]) AND 
      ((SUMMARY.CNOTE_SERVICES_CODE) = [prmSERVICECODE]) AND 
      ((SUMMARY.ORIGIN) = [prmORIGIN]) AND ((SUMMARY.DEST_CODE) = [prmDESTCODE]) AND 
     ((SUMMARY.TGL_DATA) >= [prmSTARTDATE] And (SUMMARY.TGL_DATA) <= [prmENDDATE]) 
    ) 
GROUP BY 
    SUMMARY.DEST_CITY, 
    SUMMARY.DESTINATION, 
    SUMMARY.TGL_DATA, 
    SUMMARY.ORIGIN, 
    SUMMARY.ORIGIN_CODE, 
    SUMMARY.DEST_CODE, 
    SUMMARY.CNOTE_SERVICES_CODE; 

Meine Frage ist:

Wie Standardwert geben Parameter abfragen? Ich möchte die Abfrage geben Sie mir Ergebnis, auch wenn ich Parameter nicht geben Wert (ich möchte alle Datensätze zeigen, wenn ich Parameter nicht geben Wert).

Einige meiner Code in C#:

OleDbCommand accessCommand = new OleDbCommand(); 
      System.Data.DataTable dt = new System.Data.DataTable(); 
      accessCommand = new OleDbCommand(query, mycon); 
      accessCommand.Parameters.AddWithValue("@prmORIGINCODE", "BDO"); 
      accessCommand.Parameters.AddWithValue("@prmORIGIN", "BDO10000"); 
      accessCommand.Parameters.AddWithValue("@prmSERVICECODE", "REG15"); 
      accessCommand.Parameters.AddWithValue("@prmORIGINCODE", "BDO"); 
      using (OleDbDataReader myReader = accessCommand.ExecuteReader()) 
      { 
       DataTable myTable = new DataTable(); 
       myTable.Load(myReader); 
       return myTable; 
      } 
+0

Sie müssen in diesem Szenario eine 'IF'-Bedingung schreiben. Eine, wo Sie Parameter haben. in einem anderen, wo Sie keine Parameter haben –

Antwort

0

können Sie Design Ihrer Datenbank ändern. Wählen Sie die Spalte im Entwurfsmodus und legen Sie einen Standardwert dafür fest. Wenn Sie keinen spezifischen Wert für diesen Parameter schreiben, wird der Standardwert berücksichtigt.