border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

  #1 (permalink)  
Antiguo 03-07-2008, 18:45:50
Buena Participación en el Foro
 
Registrado: abr 2008
Posts: 72
william_085 Aun no valorado
Predeterminado cargar dato especifico mshflexgrid

hola, tengo un programa que me cargaba 2 tablas en un mshflexgrid y en un campo llamado subtotal me mandala informacion del subtotal del dia, pero de un momento hacia aca ya no me hace eso, no se que paso, creo que fue por que instale la actualizacion del vb sp6

lo tengo asi

Dim fecha As Date

' adoPrimaryRS.MoveFirst
Do While i < MSHFlexGrid1.Rows



Dim adoPrimaryRS As New ADODB.Recordset



Set adoPrimaryRS = New ADODB.Recordset

Dim sql As String


adoPrimaryRS.CursorLocation = adUseClient
sql = "Select * From Pedidos Where pedido = '" & MSHFlexGrid1.TextMatrix(i, 2) & "' And Fecha = #" & Date & "#"
adoPrimaryRS.Open sql, cnn, adOpenStatic, adLockOptimistic



If adoPrimaryRS.RecordCount > 0 Then
adoPrimaryRS.MoveFirst
MSHFlexGrid1.TextMatrix(i, 4) = adoPrimaryRS!total
adoPrimaryRS.MoveNext



Else

MSHFlexGrid1.TextMatrix(i, 4) = "0"
MSHFlexGrid1.TextMatrix(0, 4) = "Subtotal"
End If

i = i + 1
Loop

asi me funcionaba pero ahora ya no, no se que paso
Responder Con Cita
  #2 (permalink)  
Antiguo 03-07-2008, 19:04:45
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.184
acalanto ha deshabilitado la reputación
Predeterminado Re: cargar dato especifico mshflexgrid

La verdad es que en el código que adjuntas no veo por ninguna parte que vayas calculando dicho sub_total. Además en la columna 4 de la fila(i), pones un valor '0'.

Por otro lado, si las filas del grid se acaban antes que el número de registros de la consulta realizada, nunca llegarás a poner el subtotal..aunque lo calcules.



Ya nos explicarás...



PD: Al margen de lo mencionado anteriormente, la variable Date tampoco se le asigna un valor, por lo que seguramente no encontrará ningún registro. No sé, me parece que tienes que revisar en profundidad el código y no conformarte con justificar su mal funcionamiento a la instalación de un SP...


Seguramente es más coherente el enfoque de este código adjunto:



Código:
 
Dim fecha As Date
Dim SbTotal As Double
Dim i As Long
Dim Sql As String
Dim adoPrimaryRS As New ADODB.Recordset
 
i = 0 : sbTotal = 0
MSHFlexGrid1.Rows=1
Set adoPrimaryRS = New ADODB.Recordset
adoPrimaryRS.CursorLocation = adUseClient
fecha = [Algún_objeto_que _informe_la _fecha_deseada]
sql = "Select * From Pedidos Where pedido = '" & MSHFlexGrid1.TextMatrix(i, 2) & "' And Fecha = #" & Date & "#"
adoPrimaryRS.Open sql, cnn, adOpenStatic, adLockOptimistic
'Procesamos
If adoPrimaryRS.RecordCount > 0 Then
    adoPrimaryRS.MoveFirst
    Do until adoPrimary.EOF = true
        MSHFlexGrid1.rows = MSHFlexGrid1.rows+1
        i=i+1
        MSHFlexGrid1.TextMatrix(i, 4) = adoPrimaryRS!total
        sbTotal = sbTotal + adoPrimaryRS!total
        adoPrimaryRS.MoveNext
    Loop
    'Ponemos el subtotal calculado
    i=i+1
    MSHFlexGrid1.rows = MSHFlexGrid1.rows+1
    MSHFlexGrid1.TextMatrix(i, 4) = format(sbTotal,"#,##0.00")
    MSHFlexGrid1.TextMatrix(0, 4) = "Subtotal"
end if

Lógicamente estoy imaginando lo que tratas de obtener y con esta premisa contruyo este código pero claro, me puedo equivocar por la falta de definición de tu planteamiento.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion

Última edición por acalanto fecha: 03-07-2008 a las 19:40:37.
Responder Con Cita
  #3 (permalink)  
Antiguo 03-07-2008, 21:43:09
Buena Participación en el Foro
 
Registrado: abr 2008
Posts: 72
william_085 Aun no valorado
Predeterminado Re: cargar dato especifico mshflexgrid

gracias por contestar, bueno lo de subtotal es una cantidad que estoy jalando de otra tabla que se llama pedidos, y en el campo que me cargar el mshflexgrid ahi comparo el dato con el campo pedido y ahi me tiene que arrojar el subtotal que en la tabla pedidos se llama total

sql = "Select * From Pedidos Where pedido = '" & MSHFlexGrid1.TextMatrix(i, 2) & "' And Fecha = #" & Date & "#"
adoPrimaryRS.Open sql, cnn, adOpenStatic, adLockOptimistic



If adoPrimaryRS.RecordCount > 0 Then
adoPrimaryRS.MoveFirst
MSHFlexGrid1.TextMatrix(i, 4) = adoPrimaryRS!total ''''' aqui segun le digo que me muestre en la columna 4 el total de la tabla pedidos

adoPrimaryRS.MoveNext


lo raro es que antes me lo hacia muy bien y todo, pero el dia de hoy que lo heche andar ya no me funciono, esto lo tengo en el load, y el mhsflexgrid se carga con un control adodc

no se si me explique o te hise mas bola
Responder Con Cita
  #4 (permalink)  
Antiguo 04-07-2008, 06:48:37
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.184
acalanto ha deshabilitado la reputación
Predeterminado Re: cargar dato especifico mshflexgrid

Bueno, es difícil hacer un pronóstico acertado del lugar en el que -por la razón que sea- el código ha dejado de funcionar como lo hacía anteriormente.

Mi consejo es que ejecutes la aplicación paso-a-paso con la tecla F8, pongas puntos de parada con F9 en aquellas líneas que consideres críticas y edites los valores de variables para verificar que el dato que recogen es el esperado.

Cuando las cosas no funcionan o producen datos incorrectos, la vía más efectiva para acotar problemas es la depuración (debug) de la aplicación. Sólo así localizarás el/los problemas del código y podrás tratar de ponerles remedio.

No se me ocurre nada más que decirte.


PD: Al margen de lo que comentas sigo pensando que, independientemente del valor que tenga la variable subtotal, en el grid pones un '0'.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion

Última edición por acalanto fecha: 04-07-2008 a las 19:35:14.
Responder Con Cita
  #5 (permalink)  
Antiguo 05-07-2008, 16:37:22
Buena Participación en el Foro
 
Registrado: abr 2008
Posts: 72
william_085 Aun no valorado
Predeterminado Re: cargar dato especifico mshflexgrid

hola acalanto gracias por recordarme lo del depurador, lo heche andar y vi el error ya quedo resuelto amigos, lo que paso fue en la fecha que fue esto en el sql

tenia esto al final

Fecha = #" & Date & "#"

lo cambie por esto.

Fecha = #" & Format(date, "mm/dd/yyyy") & "# "


y asi me lo resolvio, todo gracias al depurador fui checando lo que tomaba cada variable.


gracias



gracias a todos por su tiempo
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado



La franja horaria es GMT. Ahora son las 22:40:58.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right