no puedo non esta sentencia de SQL.

matamala
30 de Octubre del 2003
compañeros os ruego una respuesta si es posible.
resulta que tengo esta sentencia de SQL. SELECT papa.*
FROM papa
WHERE (papa.primerapellido = 'pique' ); creada desde el administrador visual de datos.
en el formulario tengo un GRIDEX, si en el recordsouce le pongo que es una instrucción de SQL,tal y como está aqui funciona, al abrir el formulario el GRIDEX se llena con los datos de los registros PIQUE tal i como le digo en el SQL.
pero yo lo que necesito, es que el dato PIQUE no sea ese concretamente sino el que yo introduzca en un texbos.
la SQL la modifico de mil formas y no consigo como se hace,
siempre me dice al cargar el fomulario "pocos parametros se esperaba 1" ó 2 con esta forma: SELECT papa.*
FROM papa
WHERE (papa.primerapellido = ucase ); pero sinenbargo en la visdata me da la opcion al ejecutarla de poner el parametro del ucase.

como lo e de hacer os lo ruego.
gracias de antemano.

Ivan
30 de Octubre del 2003
Buenas. El comando ucase necesita de un String. La funcion Ucase(Argumento) lo q hace es poner ese argumento en mayusculas. Lo q debes hacer
es cambiar el SQL desde codigo, si lo haces es muy sencillo, te quedaria asi (suponiendo q el txtBox se llame Text1:

Dim SentSQL as String
SentSQL="SELECT * FROM papa WHERE primerapellido=" & ucase(Text1.Text) & "'"

Y ahopra al control de Base de datos le mandas esa sentencia. Suponiendo q usaras el control ADODB, y se llama ADODB!, tendrias q poner esto:

Dim SentSQL as String
SentSQL="SELECT * FROM papa WHERE primerapellido=" & ucase(Text1.Text) & "'"

Adodb1.RecordSource = SentSQL
Adodb1.Refresh

Y ya está. Espero que te sirva. Si tienes alguna duda, publicala aqui e intentaré ayudarte.