Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Como saber el numero de un fila en un Dbgrid (https://www.clubdelphi.com/foros/showthread.php?t=66872)

abdielalej 16-03-2010 17:32:17

Como saber el numero de un fila en un Dbgrid
 
Hola a todos y de antemano muchas gracias...
Gracias a todos los que me ayudaron en el tema anterior.
Quisiera saber en un momento para una consulta...cuál celda se modificó??
la idea es que ese valor que se introdujo en ese celda quiero insertarlo en una tabla. La columna siempre es la misma...ahora la fila cambia....

Caral 16-03-2010 17:54:20

Hola
El DBGrid es un depositario del contenido de un Dataset.
El dato no esta en el Dbgrid, este solo lo muestra, el dato esta en el dataset.
Saludos

abdielalej 16-03-2010 18:24:55

Buenas Caral gracias por responder
Es lo mismo un dataset que un datasource???....porque yo tengo conectado un adoconection....un datasource al adoconection ....y el Dbgrid al datasource...
lo estoy haciendo mal??
Ahora ya entendí tu respuesta....¿cómo obtengo entonces el valor de una celda en específico?

Caral 16-03-2010 18:28:56

Hola
Haciendo un recorrido del dataset.
Ejemplo:
adoconnection, adoquery o adotable, datasource, dbgrid.
El que contiene la informacion es el segundo, cualquiera de ellos.
Haces un recorrido y encuentras el dato.
Que bd usas?.
Saludos

abdielalej 16-03-2010 18:47:41

Yo uso Access...
Caral perdona pero no entiendo....yo voy a ingresar en una columna que se llama cantidad en el Dbgrid....que está asociada a una fila con el nombre de un producto....en el evento OnUpdateData tengo una consulta...mientras el usuario teclea una cantidad para un producto y sale para llenar otra cantidad....entra a ese evento para insertar esa cantidad en una tabla...pero cómo cogo ese valor??
Con un StringGrid decía Cells[i][j] algo as'i no se puede hacer??...o por favor explicame bien....

Caral 16-03-2010 18:56:10

Hola
Puedes quitarle el exe al programa y colocarlo aqui en un zip, asi lo veremos mejor.
El asunto esta en apuntar al dato, cuando te posicionas en alguna parte del dbgrid, este apunta al dataset, es ese el que contiene el dato.
AdoTable.dataset.
Saludos
PD: El stringgrid funciona con celdas, el dbgrid tambien podria (creo) pero es mas sencillo que apunte al dato, despues de todo es lo que te interesa, el dato, no donde esta.

abdielalej 16-03-2010 19:14:49

1 Archivos Adjunto(s)
Aquí te mando la bd para que veas como tengo las tablas...el .exe es grande para la cantidad que permiten subir.....

Caral 16-03-2010 19:18:24

Hola
No se que es el archivo, pero no es una bd access.
Quita este y pon la BD Access y el programa, NO el exe.
Saludos

abdielalej 16-03-2010 19:24:18

el dbgrid lo uso para mostrar de la tabla producto: el nombre, la umedida y precio, y de la tabla tiendaproducto cargo el campo cantidad...que pasa que cuando pongo un valor en cantidad...trata de actualizar y claro da error....porque la tupla tiene que guardarse en tiendaproducto....que tiene como llave primario....nombreproducto y nombretienda....pero de donde yo leo en el Dgb el nombre del producto es da la tabla producto...por eso da error supongo...
entonces lo que quiero hacer es coger el nombre de la tienda que está en el TabSheet de un page control....coger el nombre del producto,la cantidad y hacer una consulta de inserción para tiendaproducto...

abdielalej 16-03-2010 19:25:57

si lo que le quité la extension .mdb

Caral 16-03-2010 19:27:57

Hola
Pues no me abre.
Pasame el correcto y el programa, recuerda quitale el exe para que no sea grande.
Saludos

Caral 16-03-2010 19:32:53

Hola
Ya lo abrí, ahora necesito el codigo, el programa sin el exe.
Saludos

abdielalej 16-03-2010 20:03:26

qué mas podré quitar para que se achique más, le quito el .exe pero se queda en 1.5 mb

Caral 16-03-2010 20:04:48

Hola
En mi perfil esta mi correo, enviamelo ahi.
Saludos
Edito: Completo sin exe.

abdielalej 16-03-2010 20:17:04

Bueno Caral muchísimas gracias...esto de la programación me está volviendo loco....muchas gracias...
el asunto es que no tengo salida internacional con mi correo...ya tú sabes!!!
Deja ver si me sigo rompiendo la cabeza...si tengo otra duda pongo otro hilo...

Caral 16-03-2010 20:19:04

Hola
No lo des por perdido.
Pon el codigo que tengas aqui, copialo y pegalo aqui ( no importa cuanto sea).
A ver si te ayudamos.
Saludos

abdielalej 16-03-2010 20:36:30

este es el cód para cargar el Dbg en el Activate de la Form donde tengo el Dbg:

DataModule2->ADOQuerymostrar_tienda_prod->Active=false;
DataModule2->ADOQuerymostrar_tienda_prod->Close();
DataModule2->ADOQuerymostrar_tienda_prod->Active=true;
DataModule2->ADOQuerymostrar_tienda_prod->Open();

Este es el cod dentro de ese ADOQuerymostrar_tienda_prod:

SELECT producto.nombreproducto, producto.unidadmedida, producto.precio, tiendaproducto.cantidad
FROM producto LEFT JOIN tiendaproducto ON producto.nombreproducto=tiendaproducto.nombreproducto
Order By producto.numero

Hasta ahí bien: Me llena el nombre del producto, u/m, precio, y pone cantidad en blanco para llenar se ve así:
Nombre Prod U/m Precio Cantidad
Frascos V U 0 (para llenar)
.
.
.
Producto N

Este es el supuesto código para insertar "cantidad" en tiendaproducto, que ya seguro has visto sus campos:
//aqui cogo el nombre de la tienda
ADOQuery1->Parameters->Items[0]->Value=Form4->PageControl1->ActivePage->Caption;
//aquí el nombre del producto que tampoco se como cogerlo
ADOQuery1->Parameters->Items[1]->Value=
//aqui la cantidad que no se:
ADOQuery1->Parameters->Items[2]->Value=
ADOQuery1->ExecSQL();

Este es el cod dentro de ese ADOQuery1:

Insert Into tiendaproducto(nombretienda,nombreproducto,cantidad)
Values(tienda,producto,cant)

Espero me ayuden...Muchas gracias por su paciencia, sino pudiera resolver siéntanse satisfecho...porque me han ayudado mucho(bueno... en especial Caral)

Casimiro Notevi 16-03-2010 20:43:32

Cita:

Empezado por abdielalej (Mensaje 357159)
[..]el asunto es que no tengo salida internacional con mi correo...ya tú sabes!!![..]

No sabía que tampoco podéis enviar/recibir email fuera del país :o:(:mad:


Creo que hay un límite para cada mensaje de estos, si no cabe en uno... pon varios, según los vayas necesitando.

Caral 16-03-2010 20:46:00

Hola
Voy por partes.
Creo que es C++ y yo de eso ni pio jejeje.
Vamos a ver si te entiendo, por favor corrigeme.
1-Cargas en el dngrid con el codigo del ADOQuerymostrar_tienda_prod esto: nombre del producto, u/m, precio, y pone cantidad en blanco para llenar Correcto??
2- LLenas la cantidad dentro del Dbgrid. Correcto??.
3- quieres que la cantidad que pusiste se guarde en otra tabla. Correcto??.
A ver si estoy en lo cierto para seguir.
Saludos.
PD: Si el codigo esta en C++ ni me lo envíes:)

abdielalej 16-03-2010 21:00:08

Exactamente...eso mismo que has dicho
....ahora... Cantidad lo cargé de la tabla tiendaproducto.... porque no sabía como poner una columna en el Dbgrid que no estuviera en una consulta....
pero es exactamente como has dicho....


La franja horaria es GMT +2. Ahora son las 01:47:27.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi