Venu Gopal Mulavana Kayamkulam Ответов: 2

Символы, найденные после окончания инструкции SQL VB.NET, доступ


Как объединить несколько запросов Select в VB.Net-доступ? Я попробовал ниже коды. Но это дает такой результат, как Символы, найденные после окончания инструкции SQL

Или есть какой-то другой способ объединения?

Что я уже пробовал:

Dim MyDataSet As New DataSet
RecExists = False
DataFilterCondition1 = " Where edate>=@Me.dtpAccountFrom1st.Value.Date And edate<=@Me.dtpAccountTo1st.Value.Date"

DataFilterCondition2 = " Where edate>=@Me.dtpAccountFrom2nd.Value.Date And edate<=@Me.dtpAccountTo2nd.Value.Date"

DataFilterCondition3 = " Where edate>=@Me.dtpAccountFrom3rd.Value.Date And edate<=@Me.dtpAccountTo3rd.Value.Date"

DataFilterCondition4 = " Where edate>=@Me.dtpAccountFrom4th.Value.Date And edate<=@Me.dtpAccountTo4th.Value.Date"

DataFilterCondition5 = " Where edate>=@Me.dtpAccountFrom1st.Value.Date And edate<=@Me.dtpAccountTo4th.Value.Date"

DataFilterQuery1 = "Select '1st Quarter' As TERM, 'PLEDGE' As PARTICULARS, Sum(amount) As AMOUNT, 0 As INTAMOUT, Sum(stock) As STOCK, Count(edate) As TOTALCOUNT FROM pledger " & DataFilterCondition1 & ""
        
DataFilterQuery2 = "Select '1st Quarter' As TERM, 'REDEMPTION' As PARTICULARS, Sum(pledgeramount) As AMOUNT, Sum(intamt) As INTAMOUT, Sum(stock) As STOCK, Count(edate) As TOTALCOUNT FROM redemption " & DataFilterCondition1 & ""

DataFilterQuery3 = "Select '2nd Quarter' As TERM, 'PLEDGE' As PARTICULARS, Sum(amount) As AMOUNT, 0 As INTAMOUT, Sum(stock) As STOCK, Count(edate) As TOTALCOUNT FROM pledger " & DataFilterCondition2 & ""
        
DataFilterQuery4 = "Select '2nd Quarter' As TERM, 'REDEMPTION' As PARTICULARS, Sum(pledgeramount) As AMOUNT, Sum(intamt) As INTAMOUT, Sum(stock) As STOCK, Count(edate) As TOTALCOUNT FROM redemption " & DataFilterCondition2 & ""

DataFilterQuery5 = "Select '3rd Quarter' As TERM, 'PLEDGE' As PARTICULARS, Sum(amount) As AMOUNT, 0 As INTAMOUT, Sum(stock) As STOCK, Count(edate) As TOTALCOUNT FROM pledger " & DataFilterCondition3 & ""
        
DataFilterQuery6 = "Select '3rd Quarter' As TERM, 'REDEMPTION' As PARTICULARS, Sum(pledgeramount) As AMOUNT, Sum(intamt) As INTAMOUT, Sum(stock) As STOCK, Count(edate) As TOTALCOUNT FROM redemption " & DataFilterCondition3 & ""

DataFilterQuery7 = "Select '4th Quarter' As TERM, 'PLEDGE' As PARTICULARS, Sum(amount) As AMOUNT, 0 As INTAMOUT, Sum(stock) As STOCK, Count(edate) As TOTALCOUNT FROM pledger " & DataFilterCondition4 & ""
        
DataFilterQuery8 = "Select '4th Quarter' As TERM, 'REDEMPTION' As PARTICULARS, Sum(pledgeramount) As AMOUNT, Sum(intamt) As INTAMOUT, Sum(stock) As STOCK, Count(edate) As TOTALCOUNT FROM redemption " & DataFilterCondition4 & ""

DataFilterQuery9 = "Select 'Yearly' As TERM, 'PLEDGE' As PARTICULARS, Sum(amount) As AMOUNT, 0 As INTAMOUT, Sum(stock) As STOCK, Count(edate) As TOTALCOUNT FROM pledger " & DataFilterCondition5 & ""
        
DataFilterQuery10 = "Select 'Yearly' As TERM, 'REDEMPTION' As PARTICULARS, Sum(pledgeramount) As AMOUNT, Sum(intamt) As INTAMOUT, Sum(stock) As STOCK, Count(edate) As TOTALCOUNT FROM redemption " & DataFilterCondition5 & ""

DataFilterQuery = String.Concat(DataFilterQuery1, ";", DataFilterQuery2, ";", DataFilterQuery3, DataFilterQuery4, ";", ....)

Using MyConnection As OleDb.OleDbConnection = MdlCommonCodes.GetConnection,
            MyDataAdapter As New OleDb.OleDbDataAdapter(DataFilterQuery, MyConnection)
If MyConnection.State = ConnectionState.Closed Then MyConnection.Open()
            MyDataAdapter.SelectCommand.Parameters.Add("@Me.dtpAccountFrom1st.Value.Date", OleDb.OleDbType.Date).Value = Me.dtpAccountFrom1st.Value.Date
            MyDataAdapter.SelectCommand.Parameters.Add("@Me.dtpAccountTo1st.Value.Date", OleDb.OleDbType.Date).Value = Me.dtpAccountTo1st.Value.Date
            MyDataAdapter.SelectCommand.Parameters.Add("@Me.dtpAccountFrom2nd.Value.Date", OleDb.OleDbType.Date).Value = Me.dtpAccountFrom2nd.Value.Date
            MyDataAdapter.SelectCommand.Parameters.Add("@Me.dtpAccountTo2nd.Value.Date", OleDb.OleDbType.Date).Value = Me.dtpAccountTo2nd.Value.Date
            MyDataAdapter.SelectCommand.Parameters.Add("@Me.dtpAccountFrom3rd.Value.Date", OleDb.OleDbType.Date).Value = Me.dtpAccountFrom3rd.Value.Date
            MyDataAdapter.SelectCommand.Parameters.Add("@Me.dtpAccountTo3rd.Value.Date", OleDb.OleDbType.Date).Value = Me.dtpAccountTo3rd.Value.Date
            MyDataAdapter.SelectCommand.Parameters.Add("@Me.dtpAccountFrom4th.Value.Date", OleDb.OleDbType.Date).Value = Me.dtpAccountFrom4th.Value.Date

MyDataAdapter.SelectCommand.Parameters.Add("@Me.dtpAccountTo4th.Value.Date", OleDb.OleDbType.Date).Value = Me.dtpAccountTo4th.Value.Date

MyDataAdapter.Fill(MyDataSet, 0)
MyDataSet.AcceptChanges()
Me.grdPledgerCountPreview.DataSource = MyDataSet.Tables(0)
End Using

2 Ответов

Рейтинг:
7

Sandeep Mewara

Вот, попробуй это: Используйте запрос объединения для объединения нескольких запросов в один результат - доступ[^]

Цитата:
Иногда вам может потребоваться перечислить записи из одной таблицы или запросить записи из одной или нескольких других таблиц, чтобы сформировать один набор записей - список со всеми записями из двух или более таблиц. Это и есть цель запроса объединения в Access

Пример:
SELECT Customers.Company, Customers.[Last Name], Customers.[First Name]
FROM Customers

UNION

SELECT Suppliers.Company, Suppliers.[Last Name], Suppliers.[First Name]
FROM Suppliers

ORDER BY [Last Name], [First Name];


Venu Gopal Mulavana Kayamkulam

Сделано, как показано ниже!!!! большое спасибо из Кералы... (Год) :)

DataFilterQuery = DataFilterQuery1 + "Union" + DataFilterQuery2 + "Union" + DataFilterQuery3 + "Union" + DataFilterQuery4 _
+ "Union" + DataFilterQuery5 + "Union" + DataFilterQuery6 + "Union" + DataFilterQuery7 + "Union" + DataFilterQuery8 _
+ "Union" + DataFilterQuery9 + "Union" + DataFilterQuery10

Рейтинг:
1

Dave Kreskowiak

Вы должны выполнить каждый запрос отдельно. Access не поддерживает несколько результирующих наборов.


Venu Gopal Mulavana Kayamkulam

да, access не поддерживает несколько результирующих наборов. Теперь я использовал Союза в запросе в соответствии с решением 2. все равно..... большое спасибо 2 помогите мне.. ищет поддержки УР в будущем.

Dave Kreskowiak

Союзы могут работать, но вам лучше обратить внимание на столбцы в результирующем наборе, который возвращается. Вы можете быть удивлены тем, что получите обратно.