varios valores valor seleccionar promedio obtener maximos maximo funcion ejemplos ejemplo consultas campos campo avg agrupadas sql database vba ms-word ms-office

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.