promedio - seleccionar valores maximos sql
Cómo devolver el valor en un campo basado en el valor de búsqueda en otro campo (2)
En primer lugar, tenga cuidado al nombrar la columna ''conteo'': esta es una palabra clave en SQL y puede causar problemas. Del mismo modo, no llame a la tabla ''tabla''.
Aquí hay un código de muestra que muestra una forma de hacerlo:
'' This example uses Microsoft ActiveX Data Objects 2.8,
'' which you have to check in Tools | References
'' Create the connection. This connection may be reused for other queries.
'' Use connectionstrings.com to get the syntax to connect to your database:
Dim conn As New ADODB.Connection
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:/tmp/Database1.accdb"
Dim cmd As New ADODB.Command
Set cmd.ActiveConnection = conn
'' Replace anything which might change in the following SQL string with ?
cmd.CommandText = "select ct from tbl where surname = ?"
'' Create one parameter for every ?
Dim param As ADODB.Parameter
Set param = cmd.CreateParameter("surname", adBSTR, adParamInput, , TextBox1.Text)
cmd.Parameters.Append param
Dim rs As ADODB.Recordset
Set rs = cmd.Execute
MsgBox rs("ct")
rs.Close
conn.Close
Esto es básico, pero no estoy familiarizado con los modelos de objetos de VBA y Word / Access.
Tengo una base de datos de dos columnas de aproximadamente 117000 registros. Las columnas son ''apellido'' y ''cuenta''. Quiero que un usuario pueda escribir SMITH en un cuadro de texto y presionar enviar. Entonces quiero ejecutar algo como
SELECT table.count FROM table WHERE surname = string
y devuelve el valor de table.count en una cadena.
Parece que esto debería ser de cinco o seis líneas de código (que tengo pero no publicaré) pero obviamente me falta algo.
Aclamaciones
Es posible usar InsertDatabase:
Sub GetData()
ActiveDocument.Bookmarks("InsertHere").Select
Selection.Range.InsertDatabase Format:=0, Style:=0, LinkToSource:=False, _
Connection:="TABLE Members", SQLStatement:= _
"SELECT [Count] FROM [Members]" _
& " WHERE Surname=''" _
& ActiveDocument.FormFields("Text1").Result & "''", _
DataSource:="C:/docs/ltd.mdb", From:=-1, To:= _
-1, IncludeFields:=True
End Sub
Esta es una macro editada grabada usando la barra de herramientas de la base de datos.
Advertencia EDITED : este código, como se muestra, está sujeto a un ataque de inyección SQL.