Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Adodc y DataGrid

Estas en el tema de Adodc y DataGrid en el foro de Visual Basic clásico en Foros del Web. Hola de nuevo amigos. Tengo un nuevo "problemilla", a ver si ustedes (seguro que si), pueden ayudarme. El problema es el siguiente: Tengo un Adodc, ...
  #1 (permalink)  
Antiguo 26/05/2005, 02:51
Avatar de S-Virus  
Fecha de Ingreso: enero-2004
Mensajes: 112
Antigüedad: 20 años, 3 meses
Puntos: 0
Adodc y DataGrid

Hola de nuevo amigos. Tengo un nuevo "problemilla", a ver si ustedes (seguro que si), pueden ayudarme.

El problema es el siguiente:

Tengo un Adodc, con la cadena de conexión creada y con el DataSource siguiente:

SELECT tblLINEASPEDIDOS.ID_Pedido as IDPEDIDO, tblLINEASPEDIDOS.Cantidad, tblLINEASPEDIDOS.PrecioUnidad
FROM tblLINEASPEDIDOS, tblPEDIDOS
WHERE tblLINEASPEDIDOS.IDNOTA=tblPEDIDOS.IDNOTA AND tblLINEASPEDIDOS.IDNOTA=Form!frmPedidos.txtIDNOTA;

La idea es que me muestre los datos dependiendo del valor del campo que hay en el formulario frmPedidos con el nombre txtIDNOTA como parámetro para filtrar el contenido del DataGrid (Por supuesto, éste está asociado a dicho Adodc).

Errores en sí, no me da, salvo que me dice que "No se han especificado valores para algunos de los parametros requeridos".

Todo se ejecuta, pero en mi DataGrid no veo nada. Espero que puedan ayudarme. Gracias.
  #2 (permalink)  
Antiguo 26/05/2005, 04:23
 
Fecha de Ingreso: mayo-2005
Mensajes: 93
Antigüedad: 19 años
Puntos: 1
Ese error suele dar cuado un campo que especificas en la sen¡tecia SQL no existe en la base de datos.
Si ejecutas esa misma sentencia en tu base de datos te funciona???
Responde y seguimos mirando cosas, pero creo que va a ser una tonteria de este pelo, que a veces son las peores.
  #3 (permalink)  
Antiguo 26/05/2005, 04:25
 
Fecha de Ingreso: mayo-2005
Mensajes: 93
Antigüedad: 19 años
Puntos: 1
O también puede ser que en el momento que lanzas esa sentencia no existe un valor para el campo "Form!frmPedidos.txtIDNOTA".

En qué evento lo lanzas???
  #4 (permalink)  
Antiguo 26/05/2005, 04:39
Avatar de S-Virus  
Fecha de Ingreso: enero-2004
Mensajes: 112
Antigüedad: 20 años, 3 meses
Puntos: 0
Si funcionan pero en el programa no

Hola Zabit. A ver, yo he ejecutado esa sentencia SQL en Access que es donde tengo la BD, y lo que hace es pedirme que introduzca un numero, correspondiente al From!frmPedidos.txtIDNOTA, con el cual busco todos los pedidos que correspondan a la misma nota de pedidos, le doy el número y me hace la búsqueda correctamente.

Ahora bien, al pasar esa misma sentencia a VB ya me da el error este.

Lo que quiero es lo siguiente, cuando pulse un botón que tengo, el valor del textbox va a pasar a ser el código de la última nota. Hasta ahí bien.

Entonces ahora, se pasa a rellenar las líneas de pedido, de manera que cada vez que yo cierre un pedido, el datagrid se actualice y siempre vea los pedidos que he ido realizando en esa nota. Otra cosa será después la opción de buscar pedidos a través del codigo de la nota pero eso para después.

No se si me explico bien, espero que me entendáis. Lo que quiero es un Data grid que se me actualice con todas las líneas de pedido de la nota de pedido actual cada vez que yo cierre un pedido. Gracias.
  #5 (permalink)  
Antiguo 26/05/2005, 07:05
Avatar de S-Virus  
Fecha de Ingreso: enero-2004
Mensajes: 112
Antigüedad: 20 años, 3 meses
Puntos: 0
Todo Siguie igual

Pues sigo igual, no consigo hacer que el DataGrid se me actualize cada vez que ingreso un pedido nuevo en la Base de Datos. No se si es que no va bien con la consulta el Adodc o lo que sea, pero sigo liado.
  #6 (permalink)  
Antiguo 26/05/2005, 08:22
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años
Puntos: 4
Cita:
Iniciado por S-Virus
Hola Zabit. A ver, yo he ejecutado esa sentencia SQL en Access que es donde tengo la BD, y lo que hace es pedirme que introduzca un numero, correspondiente al From!frmPedidos.txtIDNOTA, con el cual busco todos los pedidos que correspondan a la misma nota de pedidos, le doy el número y me hace la búsqueda correctamente.

Ahora bien, al pasar esa misma sentencia a VB ya me da el error este.

Lo que quiero es lo siguiente, cuando pulse un botón que tengo, el valor del textbox va a pasar a ser el código de la última nota. Hasta ahí bien.

Entonces ahora, se pasa a rellenar las líneas de pedido, de manera que cada vez que yo cierre un pedido, el datagrid se actualice y siempre vea los pedidos que he ido realizando en esa nota. Otra cosa será después la opción de buscar pedidos a través del codigo de la nota pero eso para después.

No se si me explico bien, espero que me entendáis. Lo que quiero es un Data grid que se me actualice con todas las líneas de pedido de la nota de pedido actual cada vez que yo cierre un pedido. Gracias.
mira chico, esto esta facilito, cuando vos declaras el datasource del adodc, y lo pegas a un datagrid cuando ejecutas la aplicacion el va a ejecutar la sentencia sql, como inicialmente te falta un valor el no lo va a poner nada pk no cumple la condicion. Entonces en la sentencia sql inicial del adodc ponele al final del WHERE 1=2 y luego en tu formulario pedis el dato que hace falta y pones:
adodc.recordsourse="select ... etc etc y al final pones en el where, campofiltro='" & tvariableparafilttro & "'
adodc.refresh

ahi actualizas la busqueda con el dato que queres y acutalizas el grid automaticamente, para la busqueda haces lo mismo.
Espero que esto sea lo que estes pidiendo.
  #7 (permalink)  
Antiguo 26/05/2005, 08:25
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años
Puntos: 4
Código:
    Adodc1.RecordSource = "select * from proyectos_categorias where proyecto_id='" & tproyecto_id & "'"
    Adodc1.Refresh
tproyecto_id es un textbox, adodc1 es el adodc pegado al datagrid y este codigo se ejecuta cuando presionas un boton o cambias un combo etc etc,
  #8 (permalink)  
Antiguo 26/05/2005, 15:41
Avatar de S-Virus  
Fecha de Ingreso: enero-2004
Mensajes: 112
Antigüedad: 20 años, 3 meses
Puntos: 0
Come on

Bueno XCar, eso es creo yo lo que he estado haciendo, pero obviamente, en algo he tenido que fallar pues no me funcionó, ya hoy es tarde y hasta mañana no seguiré trabajando en mi proyecto, ya os contaré que tal me ha ido mañana vieres. Un saludo. Gracias por la colaboración de todos.
  #9 (permalink)  
Antiguo 26/05/2005, 16:20
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años
Puntos: 4
Cita:
Iniciado por S-Virus
Bueno XCar, eso es creo yo lo que he estado haciendo, pero obviamente, en algo he tenido que fallar pues no me funcionó, ya hoy es tarde y hasta mañana no seguiré trabajando en mi proyecto, ya os contaré que tal me ha ido mañana vieres. Un saludo. Gracias por la colaboración de todos.
ok, pone tu codigo para ver pk esta fallando, a mi me funciona perfectamente, si no lo hacemos funcionar corrigiendo tu codigo, te mandare un formulario donde yo lo hago para que veas.
  #10 (permalink)  
Antiguo 27/05/2005, 02:00
Avatar de S-Virus  
Fecha de Ingreso: enero-2004
Mensajes: 112
Antigüedad: 20 años, 3 meses
Puntos: 0
Seguimos igual

Hola de nuevo. Paso a explicaros paso por paso lo que yo estoy haciendo a ver si en algo fallo ok?.

Bueno, en primer lugar creo un Adodc, le genero la cadena de conexión y le paso un datasource que me selecciona todos los registros de mi tabla de pedidos.

A continuación creo un DataGrid y le paso como recorsource el Adodc anteriormente creado. Ejecuto el formulario y funciona, no me muestra ningún mensaje y el DataGrid está cargado con todos los pedidos de mi BD.

Entonces me voy a código, concretamente al Load del Formulario porque quiero que el DataGrid me aparezca en blanco al iniciar el formulario y pongo lo siguiente:

txtIDNOTA.Text = ""

adoVisualPedido.RecordSource = "SELECT tblLINEASPEDIDOS.ID_Pedido AS IDPEDIDO, tblLINEASPEDIDOS.Cantidad, tblLINEASPEDIDOS.PrecioUnidad FROM tblLINEASPEDIDOS, tblPEDIDOS WHERE tblLINEASPEDIDOS.IDNOTA=tblPEDIDOS.IDNOTA AND tblLINEASPEDIDOS.IDNOTA='" & txtIDNOTA.Text & "';"

adoVisualPedido.Refresh

Pongo el txtIDNOTA a vacio para que no haya nada (también probé a poenerlo a 1 y pasaba lo mismo). Despues le paso al Recorsource del Adodc la consulta que ahí pongo y lo Refresco.

Al ejecutar me sigue dando el mismo fallo que al principio. "No se han especificado valores para algunos de los parametros requeridos".

Y ahí me quedé . Gracias y un Saludo.

(Esto es lo que he venido haciendo en todo momento, no se si me salté algo al seguir los pasos pero sigue sin funcionar).

PD: El fallo me salta en el Refresh, lo comprobé con un punto de ruptura. Además, me imagino que será porque inicializo el txtIDNOTA en el Load, cuando hago click en el botón de rellenar nota, hasta ahora lo que hacia era situar el Adodc a un nuevo registro y ponía en este txtIDNO (que está asociado al adodc) el id de la nueva nota, pero ahora me dice que el campo no es actualizable o algo asi. En fin, me voy a volver loco.

Última edición por S-Virus; 27/05/2005 a las 02:07
  #11 (permalink)  
Antiguo 27/05/2005, 08:07
Avatar de S-Virus  
Fecha de Ingreso: enero-2004
Mensajes: 112
Antigüedad: 20 años, 3 meses
Puntos: 0
NOVEDADES!!!! Todo Solucionado!

Entono el Mea Culpa. El problema era únicamente que en mi BD, uno de los campos, concretamente el de precio por unidad lo había creado con el nombre PrecioUnidad(€). Así pues, a la hora de realizar la consulta, parece ser que ese nombre, el cual incluía en ella para mostrar, se lo tomaba como una funcion, y evidentemente me pedía el "parámetro €".

Siento haberos molestado. Y sobre todo Gracias, muchas gracias. Un saludo amigos.
__________________
DISEÑADOR WEB MULTIMEDIA :: STUDIOFLASH
  #12 (permalink)  
Antiguo 27/05/2005, 08:22
Avatar de xcars  
Fecha de Ingreso: mayo-2005
Ubicación: El Salvador
Mensajes: 753
Antigüedad: 19 años
Puntos: 4
ok y yo que estaba listo para hecharte la mano
  #13 (permalink)  
Antiguo 27/05/2005, 14:49
Avatar de S-Virus  
Fecha de Ingreso: enero-2004
Mensajes: 112
Antigüedad: 20 años, 3 meses
Puntos: 0
Y yo que lo agradezco

Yo te lo agradezco compañero, pero al final tras probar y probar y ver que estaba haciendo todo correcto, me dio por mirar la BD y caí en ese detalles. Lo dicho, Gracias.
__________________
DISEÑADOR WEB MULTIMEDIA :: STUDIOFLASH
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:45.