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;
}
Sie müssen in diesem Szenario eine 'IF'-Bedingung schreiben. Eine, wo Sie Parameter haben. in einem anderen, wo Sie keine Parameter haben –