Los foros del Guille

MKN Reservas (Maro - Kayak Nerja)


Kayak Maro - Rutas y alquiler de kayak y tabla

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 
Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu inter�s (algunos de los avisos publicados)

01/feb./2019

Los moderadores, MVP y administradores podrán seguir editando, respondiendo o creando nuevos mensajes

Con idea de que puedan ayudar a responder e ir cerrando mensajes ;-)

  Foro: VB6.General Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 40424 - Datagrid columna calculada
IDAsuntoFechaNick 
40424 Datagrid columna calculada15/04/08 18:31Lestat2492   
Buenas Tardes mi roblema es el siguiente :

Tengo datagrid el cual lleno con un recodset que abro con una consulta sql; los datos que muestro son codigo de articulo, orden de compra, fecha de recepcion, tipo de moneda y monto, … necesitaria saber como hacer para que en el datagrid me agregue una nueva columna con nombre monto_$ (monto en pesos) y a los montos que estan en dólar lo transforme en pesos según la cotizacion dólar que la ingreso en un texbox

Dejo parte del codigo para que me den una mano Muchas Gracias.

Private Sub Command1_Click()
Dim fecini As Date
Dim fecfin As Date
Dim dolar As Currency
fecini = DTPicker1.Value
fecfin = DTPicker2.Value
If Text1.Text = "" Then
MsgBox "Pone la cotización Boludo", vbCritical, "Y el Dolar donde ta?"
Exit Sub
End If
dolar = Text1.Text
Set cn = New ADODB.Connection
Set rs = New ADODB.Recordset
cn.ConnectionString = "Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=VISUAL01;Data Source=VM_SERVER"
cn.Open
cn.CursorLocation = adUseClient
rs.Open "SELECT PURCHASE_ORDER.VENDOR_ID, VENDOR.NAME, PURCHASE_ORDER.ID, PURC_ORDER_LINE.PART_ID, PURC_ORDER_LINE.ORDER_QTY, RECEIVER_LINE.RECEIVED_QTY, PURC_ORDER_LINE.UNIT_PRICE, PURCHASE_ORDER.CURRENCY_ID, RECEIVER.RECEIVED_DATE " & _
"FROM (RECEIVER_LINE INNER JOIN ((PURCHASE_ORDER INNER JOIN PURC_ORDER_LINE ON PURCHASE_ORDER.ID = PURC_ORDER_LINE.PURC_ORDER_ID) INNER JOIN VENDOR ON PURCHASE_ORDER.VENDOR_ID = VENDOR.ID) ON " & _
"(RECEIVER_LINE.PURC_ORDER_LINE_NO = PURC_ORDER_LINE.LINE_NO) AND (RECEIVER_LINE.PURC_ORDER_ID = PURC_ORDER_LINE.PURC_ORDER_ID)) INNER JOIN RECEIVER ON RECEIVER_LINE.RECEIVER_ID = RECEIVER.ID " & _
"WHERE (((RECEIVER.RECEIVED_DATE) Between '" & Format(fecini, "mm/dd/yyyy") & "' And '" & Format(fecfin, "mm/dd/yyyy") & "'))", cn, adOpenDynamic, adLockOptimistic

Set DataGrid1.DataSource = rs
End Sub
IDAsuntoFechaNick 
40442 Re: Datagrid columna calculada (Resp: 40424)16/04/08 07:58Naiet   
Una forma sencilla se hacerlo puede ser incorporando esa columna calculada en la sentencia SQL.

"SELECT PURCHASE_ORDER.VENDOR_ID, ... , (UnitPrice * " & TuOperandoDeConversion & ") As Monto_$ FRom ..."

En la columna Monto_$ Tendrás el precio unitario por el valor que te hace la conversión, o si tienes que usar la división pues lo cambias. Sólo tienes que tener cuidado con que el OperandoDeConversion que metas en la cunsulta use como separador decimal el punto y no la coma.


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
40448 Re: Datagrid columna calculada (Resp: 40442)16/04/08 10:14Lestat2492   
El problema es que en la tabla no todos los montos estan en dolares algunas ya estan en pesos, por lo tanto la consulta no me sirve, necesito de alguna manera poder recorrer el datagrid y mediante un if... poder consultar por el tipo de moneda para aplicar el tipo de cambio....


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
40449 Re: Datagrid columna calculada (Resp: 40448)16/04/08 10:55Naiet   
Recorrer el dataLa verdad es que nunca usé el datagrid, siempre usé el TrueDBGrid, en este se configura la columna como ubound y luego hay un evento que se dispara cada vez que se rellena una fila, en el que se puede hacer...

Pero también puedes usar en tu consulta un iif, si es Access o un case si es sql server

"SElect ... , iif (Tipomoneda = 1, Precio * " & Conversion & ", Precio) AS Monto_$ from ...."

"SElect ... , case Tipomoneda When 1 Then Precio * " & Conversion & " else Precio End) AS Monto_$ from ...."




Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
40454 Re: Datagrid columna calculada (Resp: 40449)16/04/08 12:33Lestat2492   
Probe con la sentencia en SQL pero me arroja un error que no puedo detectar me podrias ayudar con la consulta .... el error vb6 me lo marca cerca de la clausula FROM... deja la consulta
LO DE LAS COMILLAS Y & ES PARA PODER SEGUIR EN OTRA LINEA CON VB...
Gracias de antemano

rs.Open " SELECT PURCHASE_ORDER.VENDOR_ID, VENDOR.NAME, PURCHASE_ORDER.ID, PURC_ORDER_LINE.PART_ID, PURC_ORDER_LINE.ORDER_QTY, RECEIVER_LINE.RECEIVED_QTY, PURC_ORDER_LINE.UNIT_PRICE, PURCHASE_ORDER.CURRENCY_ID, RECEIVER.RECEIVED_DATE, " & _
" 'Monto_$' = case PURCHASE_ORDER.CURRENCY_ID when 'U$S' then (PURC_ORDER_LINE.UNIT_PRICE * '" & dolar & "') else PURC_ORDER_LINE.UNIT_PRICE " & _
" FROM (RECEIVER_LINE INNER JOIN ((PURCHASE_ORDER INNER JOIN PURC_ORDER_LINE ON PURCHASE_ORDER.ID = PURC_ORDER_LINE.PURC_ORDER_ID) INNER JOIN VENDOR ON PURCHASE_ORDER.VENDOR_ID = VENDOR.ID) ON " & _
" (RECEIVER_LINE.PURC_ORDER_LINE_NO = PURC_ORDER_LINE.LINE_NO) AND (RECEIVER_LINE.PURC_ORDER_ID = PURC_ORDER_LINE.PURC_ORDER_ID)) INNER JOIN RECEIVER ON RECEIVER_LINE.RECEIVER_ID = RECEIVER.ID " & _
" WHERE (((RECEIVER.RECEIVED_DATE) Between '" & Format(fecini, "mm/dd/yyyy") & "' And '" & Format(fecfin, "mm/dd/yyyy") & "'))", cn, adOpenDynamic, adLockOptimistic


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
40455 Re: Datagrid columna calculada (Resp: 40454)16/04/08 12:48Naiet   
así a bote pronto te falta el END de la sentencia CASE

" 'Monto_$' = case PURCHASE_ORDER.CURRENCY_ID when 'U$S' then (PURC_ORDER_LINE.UNIT_PRICE * '" & dolar & "') else PURC_ORDER_LINE.UNIT_PRICE END " & _


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
40456 Re: Datagrid columna calculada (Resp: 40455)16/04/08 13:20Lestat2492   
Muchisimas Gracias me salvaste!!!!!


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2026  - foros.elGuille v1.0.6.3 (01/Jun/2021 12:45 GMT +2)  - (ASP.NET v4.0.30319.42000)
 
La hora GMT del servidor es: 13/06/2026 11:16:19 GMT