soporta segundo por optimizar lentas cuantas consultas database vb6 ms-access-2007

database - optimizar - cuantas consultas por segundo soporta mysql



Almacenar dos consultas resultado en tercera variable (3)

¿Qué pasa con este código?

Visual Basic 6.0 con acceso 2007

Private Sub Command1_Click() Dim Sell_tbl, Stock_Bottle, res As String Sell_tbl = "SELECT Sum((Quantity)*12) FROM Sell_Detail Where Cateogry=''Large''" Stock_Bottle = "Select Sum(No_Of_Bottle) FROM Add_Bottle Where Cateogry=''Large''" res = ((Sell_tbl) - (Stock_Bottle)) Adodc1.RecordSource = Sell_tbl Adodc1.Refresh Adodc1.Caption = Adodc1.RecordSource End Sub

Tipo Error de coincidencia

Intento convertir su resultado en otro tipo de datos, pero no funciona. ¿Alguien puede ayudarme?


La razón del error es debido a una declaración:

s = ((Sell_tbl) - (Stock_Bottle))

Si mira por encima de esa línea, está configurando dos variables de cadena en SQL, que es texto no numérico. Necesita abrir conjuntos de registros con esas cadenas sql, luego obtenga los resultados, luego realice los cálculos.


Ninguno de estos es un conjunto de registros, cada uno es una cadena:

Sell_tbl = "SELECT Sum((Quantity)*12) FROM Sell_Detail Where Cateogry=''Large''" Stock_Bottle = "Select Sum(No_Of_Bottle) FROM Add_Bottle Where Cateogry=''Large''"

Necesitas algo en las líneas de:

Dim Sell_tbl As DAO.Recordset Dim Stock_Bottle As DAO.Recordset Set Sell_tbl = CurrentDB.Openrecordset _ ("SELECT Sum((Quantity)*12) As Qty FROM Sell_Detail Where Cateogry=''Large''") Set Stock_Bottle = CurrentDB.Openrecordset _ ("Select Sum(No_Of_Bottle) As Btl FROM Add_Bottle Where Cateogry=''Large''") res = Sell_tbl!Qty - Stock_Bottle!Btl

Lo anterior es un esquema aproximado, podría ser útil para poner en orden.


Es lo que quiero ...

Private Sub Command2_Click() Dim con As New ADODB.Connection con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _ & App.Path & "/add_entry.mdb;Persist Security Info=False" Dim rs As New ADODB.Recordset Dim rs1 As New ADODB.Recordset Dim result_hold As Integer Dim large_tbl As String Dim sell_large As String large_tbl = "SELECT Sum(No_Of_Bottle) FROM add_cotton where Cateogry=''Large''" sell_large = "SELECT Sum(Quantity) FROM Sell_Detail where Cateogry=''Large''" rs.Open large_tbl, con, adOpenDynamic, adLockOptimistic rs1.Open sell_large, con, adOpenDynamic, adLockOptimistic result_hold = CInt(rs.Fields(0).Value) - CInt(rs1.Fields(0).Value) Text1.Text = CStr(result_hold) End Sub

''si necesita recuperar todo el ciclo de uso de columnas, etc., pero una cosa es recordar que dos fuentes'' nunca se conectan con una sola cuadrícula ...