Foros del Web » Programación para mayores de 30 ;) » Programación General »

agregar campo a un datagrid despues de una consulta sql

Estas en el tema de agregar campo a un datagrid despues de una consulta sql en el foro de Programación General en Foros del Web. bueno tengo la siguiente consulta en sql la cual enlazo con un datagrid: select num_operacion, monto from operaciones esto me daria por ej los siguientes ...
  #1 (permalink)  
Antiguo 30/08/2004, 14:46
 
Fecha de Ingreso: junio-2004
Mensajes: 76
Antigüedad: 20 años, 5 meses
Puntos: 0
agregar campo a un datagrid despues de una consulta sql

bueno tengo la siguiente consulta en sql la cual enlazo con un datagrid:

select num_operacion, monto from operaciones

esto me daria por ej los siguientes resultados:

num operacion_____monto
1------------------50.000
2------------------25.000
3------------------15.000

bueno lo ke nesecito es ke despues de la consulta gregar un campo adicional al datagrid ke me sume los montos(SALDO)

la cosa es ke el resultado del grid sea asi:

num operacion________monto_______saldo
1---------------------50.000--------50.000
2---------------------25.000--------75.000
3---------------------15.000--------90.000

COMO agrego ese nuevo campo al datagrid, y como podria hacer la operacion para ir rellenando este campo

ayudaaa
  #2 (permalink)  
Antiguo 30/08/2004, 15:06
Avatar de jrp01  
Fecha de Ingreso: mayo-2004
Ubicación: México
Mensajes: 2.702
Antigüedad: 20 años, 6 meses
Puntos: 0
Puedes hacer esto:


Dim rs1 As New ADODB.Recordset
Dim rstemp As New ADODB.Recordset
Dim monto as Double

monto=0
Set rstemp = Nothing
rstemp.Fields.Append "Num Operacion", adSingle
rstemp.Fields.Append "Monto", adDouble
rstemp.Fields.Append "Saldo", adDouble
rstemp.Open
Set DataGrid1.DataSource = rstemp
DataGrid1.Columns(0).Width = 2400
DataGrid1.Columns(1).Width = 1500
DataGrid1.Columns(2).Width = 2000

sentencia = "Tu sentencia"
Set rs1 = cn.Execute(sentencia) 'cn es de conecion ADO
Do Until rs1.EOF
monto=rs1(1)
rstemp.AddNew
rstemp(0) = rs1(0)
rstemp(0) = rs1(1)
rstemp(3) = monto
monto=monto+monto
rstemp.Update
rs1.MoveNext
Loop

Espero que te sirva saludos2
  #3 (permalink)  
Antiguo 31/08/2004, 15:00
 
Fecha de Ingreso: junio-2004
Mensajes: 76
Antigüedad: 20 años, 5 meses
Puntos: 0
Muchas Gracias, le hice algunos arreglos al codigo y me funciono

Una preguntita: Como puedo darle formato a un campo mostrado en el datagrid, en este caso Monto y Saldo por ejemplo: 10000 que se muestre asi 10.000(miles)

Este es el codigo:

Dim Monto As Double
Dim Monto2 As Double
Dim Consulta As String

Monto = 0
Set RsTemp = Nothing
RsTemp.Fields.Append "Num Operacion", adSingle
RsTemp.Fields.Append "Monto", adDouble
RsTemp.Fields.Append "Saldo", adDouble
RsTemp.Open
Set dgDocumentosCartera.DataSource = RsTemp
dgDocumentosCartera.Columns(0).Width = 2400
dgDocumentosCartera.Columns(1).Width = 1500
dgDocumentosCartera.Columns(2).Width = 2000
Consulta = "select noperacion,monto from cartera where estado='add' or estadoprorroga='prorroga'"

Set Cartera = Cnn.Execute(Consulta)

Do Until Cartera.EOF
Monto2 = Cartera(1)
RsTemp.AddNew
RsTemp(0) = Cartera(0)
RsTemp(1) = Cartera(1)
RsTemp(2) = Monto + Monto2
Monto = Monto + Monto2
RsTemp.Update
Cartera.MoveNext
Loop

EL RECORSET RsTemp lo declare en un modulo aparte donde declaro todos mis recorset

Public RsTemp As New ADODB.Recordset

With RsTemp
.ActiveConnection = Cnn
.LockType = adLockReadOnly
.CursorType = adOpenStatic
End With

  #4 (permalink)  
Antiguo 01/09/2004, 09:44
Avatar de jrp01  
Fecha de Ingreso: mayo-2004
Ubicación: México
Mensajes: 2.702
Antigüedad: 20 años, 6 meses
Puntos: 0
Yo he usado estos:

DataGrid1.Columns(3).NumberFormat = "Fixed" 'Numero
DataGrid1.Columns(4).NumberFormat = "Percent" 'Porciento
DataGrid1.Columns(5).NumberFormat = "Currency" 'Moneda $


Saludos
  #5 (permalink)  
Antiguo 01/09/2004, 10:33
 
Fecha de Ingreso: junio-2004
Mensajes: 76
Antigüedad: 20 años, 5 meses
Puntos: 0
entre tanto buscar y buscar deje esto

dgDocumentosCartera.Columns(5).NumberFormat = "#,###"

ahi me funciono

DataGrid1.Columns(5).NumberFormat = "Currency" 'Moneda $

currency era una buena opcion pero, no supe como limitar comoas y puntos

gracias denuevo
  #6 (permalink)  
Antiguo 01/09/2004, 10:36
Avatar de jrp01  
Fecha de Ingreso: mayo-2004
Ubicación: México
Mensajes: 2.702
Antigüedad: 20 años, 6 meses
Puntos: 0
###,###,###.00 Tambien puedes porner este para no cortar cantidades
  #7 (permalink)  
Antiguo 21/09/2004, 09:36
 
Fecha de Ingreso: septiembre-2004
Ubicación: Machala - El Oro - Ecuador
Mensajes: 22
Antigüedad: 20 años, 2 meses
Puntos: 0
Yo tengo 4 diskettes con el VSpread (original no pirateado), si lo desean, diganme como puedo colocarlos en algun sitio para que lo puedan copiar.

Este programa es un ocx (Control ActiveX) que permite editar y dar formato a un grid, es más, puede pintar las celdas.
  #8 (permalink)  
Antiguo 06/10/2004, 11:06
 
Fecha de Ingreso: octubre-2004
Mensajes: 1
Antigüedad: 20 años, 1 mes
Puntos: 0
quiero ver el vspread

Cita:
Iniciado por Loquillo_
Yo tengo 4 diskettes con el VSpread (original no pirateado), si lo desean, diganme como puedo colocarlos en algun sitio para que lo puedan copiar.

Este programa es un ocx (Control ActiveX) que permite editar y dar formato a un grid, es más, puede pintar las celdas.
Dime si lo han colocado en algun site, estoy interesado en tu tema

Gracias
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:34.