-1
Ich versuche, einen Datumsfilter für meinen Bericht zu erstellen Formular generieren. Ich habe ein DateTimePicker mit Checkbox in diesem Formular, Wenn Checkbox überprüft, fügt die Abfrage eine WHERE-Klausel hinzu.Wie mache ich MySQL-Code kürzer?
Derzeit Im tun auf diese Weise: -
If DateTimePicker1.Checked Then
query = "SELECT payment_type, sales_payment_dtl.payment_amt, payment_remark, sales_payment_dtl.created_date, sales.inv_no
FROM sales_payment_dtl
INNER JOIN sales_payment
ON sales_payment_dtl.payment_id = sales_payment.payment_id
INNER JOIN sales
ON sales_payment.sales_id = sales.sales_id
WHERE sales_payment_dtl.created_date = '"& DateTimePicker.Text &"'"
Else
query = "SELECT payment_type, sales_payment_dtl.payment_amt, payment_remark, sales_payment_dtl.created_date, sales.inv_no
FROM sales_payment_dtl
INNER JOIN sales_payment
ON sales_payment_dtl.payment_id = sales_payment.payment_id
INNER JOIN sales
ON sales_payment.sales_id = sales.sales_id"
End If
Ist es möglich, den Code kürzer zu machen? Da ich in Zukunft noch Filter hinzufügen muss, wird der Code dann sehr lang, vielleicht sowas ähnliches?
query = "SELECT payment_type, sales_payment_dtl.payment_amt, payment_remark, sales_payment_dtl.created_date, sales.inv_no
FROM sales_payment_dtl
INNER JOIN sales_payment
ON sales_payment_dtl.payment_id = sales_payment.payment_id
INNER JOIN sales
ON sales_payment.sales_id = sales.sales_id
IF '"& DateTimePicker.Checked = True &"' THEN
WHERE sales_payment_dtl.created_date = '"& DateTimePicker.Text &"'
ELSE
do nothing"
Ich stimme für das Schließen dieser Frage als Off-Topic, weil es auf [** Code Review **] (http://www.codereview.stackexchange.com) sein sollte – Codexer