Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Visual Basic clásico (http://www.forosdelweb.com/f69/)
-   -   Asignar valor a objeto de texto desde vb6 (http://www.forosdelweb.com/f69/asignar-valor-objeto-texto-desde-vb6-337269/)

Enea 28/09/2005 06:10

Asignar valor a objeto de texto desde vb6
 
He creado un objeto de texto en mi crystal report y lo he dejado vacio. Le he puesto un nombre "Compras", como puedo desde vb 6 asignarle un valor... es posible esto?

The_Pretorian 28/09/2005 07:49

Has intentado crear un parametro y que ese muestre el valor que sea enviado desde VB

Atte
Jorge Diaz

Enea 28/09/2005 07:59

Como puedo hacerlo? Dame un ejemplo, por favor

Gracias!

lop7 28/09/2005 09:34

hola...
si es un parametro intentalo asi

cr_Rep.ParameterFields(i).AddCurrentValue (Valor)
en mi caso i porque hago con un for y tambien bien evaluo con un select case este ultimo para evaluar el nombre del parametro si tienes varios

saludos...
nos vemos...

Enea 29/09/2005 03:18

Primero de todo, gracias por responder...

He insertado una formula en formula fields con nombre Compras, directamente me ha salido una ventana llamada "Workshop" en esa ventana no he hecho nada, simplemente la he cerrado. Luego en formula fields veo que ha creado la etiqueta "Compras" que he desplazado hasta el reporte pudiendose ver @Compras en el campo. He guardado cambios y he cerrado mi .rpt
En vistual basic tengo este código

Código:


Private Sub Form_Load()

Dim crystal As CRAXDRT.Application
Dim Report As CRAXDRT.Report

CRViewer.DisplayBorder = False
CRViewer.DisplayTabs = False
CRViewer.EnableDrillDown = False
CRViewer.EnableRefreshButton = False

RS.Open consultado, Cxn, adOpenStatic, adLockReadOnly

Set crystal = New CRAXDRT.Application
Set Report = crystal.OpenReport(App.Path & "\Iva.rpt")
Report.DiscardSavedData
Report.Database.SetDataSource RS
Report.ParameterFields(0).AddCurrentValue ("Hola")

CRViewer.ReportSource = Report
CRViewer.ViewReport

Do While CRViewer.IsBusy
DoEvents
Loop

CRViewer.Zoom 100
RS.Close

End Sub

Obtengo el error el subíndice esta fuera del intervalo... :stress:
¿Que puede ser?

lop7 29/09/2005 06:23

con esto deberia funcionar
 
pareciera que no estuviera reconociendo el parametro :pensando:
intentalo asi...
Código:

If  Report.ParameterFields.Count > 0 Then
        For i = 1 To Report.ParameterFields.Count
        Select Case LCase(Report.ParameterFields(i).ParameterFieldName)
                Case "@Compras"
                Report.ParameterFields(1).AddCurrentValue ("Hola")
        end select
        next i

si tienes mas parametros los metes dentro del select case
saludos...
nos vemos...

Enea 29/09/2005 08:25

Pero tu que haces un parámetro o una formula? me estoy haciendo un lio... :-D

Si lo hago como formula poniendo exactamente lo que me has puesto no me da errores pero tampoco me dice hola por ningun sitio... :(
Y si creo un parámetro tampoco me da errores pero me sale una ventanita para rellenar el valor del parametro... :-D Supongo que no lo configuro bien...

Yo y el cristal... mae mia, me va a volver loca!

lop7 29/09/2005 09:12

eso es para que lo hagas usando un parametro dijiste que querias pasar un valor de VB
a Crystal report bueno halli tienes esa forma yo lo hago y funciona correctamente. verifica q no hallas guardado el reporte con datos esto lo haces en Crystal
Archivo--->guardar reportes con datos quitale el chekc


saludos...
nos vemos...

Enea 29/09/2005 09:24

Si, le quiero pasar un valor de vb a crystal, he quitado el check de guardar reportes con datos pero me sigue apareciendo la ventanita pidiendome el valor de Compras cuando ejecuto el crystal...
Como configuro el parametro?
Static, dynamic?
Gracias por la paciencia, siento si pregunto cosas iniciales pero he tenido muy poco contacto con crystal, practicamente nada y encima tengo la versión 11 en inglés...

lop7 29/09/2005 09:39

oye tengo poco tiempo trabajando con crystal pero eso q me estas diciendo de configurar los parametros no entiendo.
yo hago un stored procedure en sql server y le creo unos prametros luego lo llamo desde crystal version 10.0 tambien en ingles y armo mi reporte...

en cuanto a visual utilizo el control CrystalActiveXReportViewer los parametros los paso yo sin q me muestre la ventana de parametros... tu configuras el control para q t muestre lo botones que quieras y ya

saludos...
nos vemos...

lop7 29/09/2005 09:53

ha se me pasaba por alto lo de la ventanita asegurate que le estas pasando el parametro de la manera que te mostre si crystal no agarra el parametro entonces te manda la ventana para que le des los parametros pero si se los pasas entonces no te muestra la ventana... en el select case donde va el nombre del parametro asegurate de escribirlo tal y como esta en crystal...ok

saludos...
nos vemos...

Enea 29/09/2005 09:55

Yo trabajo con crystal XI, y cuando digo que quiero pasarle un parametro a crystal me refiero a que quiero que me muestre un cuadro de texto con lo que yo diga por código (ej.: compras.text="hola"), no porque vaya a usarlo en una consulta... Me dijisteis que tenía que hacerlo pasando un parámetro...
Y lo de los parametros que digo esta en una ventanita que se llama Field Explorer; ahí puedes crear parametros, formulas, consultas ... ahí si le das a nuevo parametro te hace relacionarlo con un campo de la base de datos pero yo no quiero q tenga nada que ver con la base de datos, lo que quiero lograr es que un cuadro de texto contenga un "hola" pasado por código vb6...

lop7 29/09/2005 11:38

ha... ok no lo habia entendido asi dejame probar porq no estoy seguro de como hacerlo si lo consigo te la digo... ok

saludos...
nos vemos...

Enea 30/09/2005 08:49

Lop7, he tenido que cambiar el bucle porque como me lo habías puesto tu con el
case no funcionaba, no entraba dentro... no sé porque..
Así si me funciona...

Código:

If Report.ParameterFields.Count > 0 Then
    For i = 1 To Report.ParameterFields.Count
      If Report.ParameterFields(i).ParameterFieldName = "Compras" Then
                Report.ParameterFields(i).AddCurrentValue ("Hola")
        End If
        Next i
End If

Muchisimas gracias por todo!!!


La zona horaria es GMT -6. Ahora son las 19:12.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.