Datareport y DataEnviron

16/07/2003 - 21:26 por Lakrom | Informe spam
Saludos al grupo, resulta que estoy desarrollando una aplicación para llevar
fichas clinicas a veterinarios (VB6 con SP5 y BD Access 2000), el enlace a
todos los datos en la base de datos está hecho por un dato entero que es el
número de ficha. Quisiera saber como puedo usar un datareport para crear un
informe de las vacunas del paciente que desee (tomando en cuenta que en la
tabla están almacenados todos los pacientes y sólo necesito a uno), lo he
tratado haciendo una consulta como esta ("SELECT * FROM vacunas WHERE nficha
= nf") donde nf tiene el numero de ficha deseado. Esta sentencia me arroja
un error, pocos parámetros se esperaba 1.
Si alguien me ayuda se lo agradezco de corazón.

Marco Antonio Artus Salazar

Preguntas similare

Leer las respuestas

#6 Pilar MMF
23/07/2003 - 11:21 | Informe spam
Hola Lakrom:


Val() "Devuelve los números contenidos en una cadena como un valor
numérico del tipo adecuado." (sic)
La función Val deja de leer la cadena en el primer carácter que no
puede reconocer como parte de un número. Los símbolos y caracteres
que se consideran a menudo parte de valores numéricos, como signos
de moneda y comas, no se reconocen.
Lee en tu PC todo lo demás que cuenta la Ayuda.


CInt(expresion) Devuelve un valor Integer -32.768 a 32.767 y las
fracciones se redondean.

El argumento obligatorio expresión es cualquier
expresión de cadena o expresión numérica.

Si la expresión que se pasa a la función está fuera del intervalo
del tipo de dato al que se va a convertir, se produce un error.

Cuando la parte fraccionaria es exactamente 0,5 CInt siempre redondea
al número par más cercano. Por ej 0,5 redondea a 0 y 1,5 redondea a 2
CInt se diferencia de las funciones Fix y Int en que truncan, en lugar
de redondear la parte fraccionaria de un número. Además, Fix y Int
siempre devuelven un valor del mismo tipo del que se le pasa.
-

Visto así, quizás convenga:

NF = CInt(Text11.Text)


Cuéntanos qué tal fue ahora.

Saludos. Pilar.

Lakrom escribió:
Hola pilar, al pinchar en el boton ver informe se ejecuta el siguiente
código:

NF = Val(Text11)
DoEvents
GenerarReporte

Donde NF esta declarado en un módulo como:
Public NF as Integer

al llamar a la tabla y hacer la consulta lo hago de la siguiente manera:
"SELECT * FROM regvacunap WHERE nficha= '" + NF + "'" pero me dice que no
coinciden los tipos, lo mismo me pasa si la escribo como me la diste
"SELECT * FROM regvacunap WHERE nficha = '" & NF & "'"

como al principio no podía pasal el valor de NF al DataReport programé el
DataReport por completo y ahora es el problema de la variable, si esta fuera
de tipo Texto no habría problema, pero estoy seguro que es posible filtrar
datos a partis de un dato entero.
salu2
"Pilar MMF" escribió en el mensaje
news:

Bueno, no entiendo entonces el porqué del error que te da.
Mira a ver que pasa si lo ejecutas así:

"SELECT * FROM vacunas WHERE nficha = '" & nf & "'"

aunque ya sabemos que nf es integer.

Por favor escríbeme LITERALMENTE la definición de nf
y dónde toma su valor.


Lakrom escribió:

nf es una variable de tipo Integer al igual que el campo de la BD





nficha.

"Pilar MMF" escribió en el mensaje
news:


Lakrom escribió:

Gracias pero ya lo he probado de esa manera y me tira el error de
tipos ya que nf es de tipo Integer y el valor de nficha en la base
de datos tambien es integer.



Hola Lakrom:
¿Cómo defines exactamente nf?
"SELECT * FROM vacunas WHERE nficha = " & nf
es una sentencia correcta en su sintaxis.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida