Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

DataReport - DataEnviroment y Listview

Estas en el tema de DataReport - DataEnviroment y Listview en el foro de Visual Basic clásico en Foros del Web. Esta es mi última duda para terminar mi proyecto, luego de esto creo que por un rato no molesto más. Necesito imprimir un solo registro ...
  #1 (permalink)  
Antiguo 25/04/2011, 14:39
 
Fecha de Ingreso: marzo-2011
Ubicación: Florida-Uruguay
Mensajes: 74
Antigüedad: 9 años, 10 meses
Puntos: 4
Información DataReport - DataEnviroment y Listview

Esta es mi última duda para terminar mi proyecto, luego de esto creo que por un rato no molesto más.

Necesito imprimir un solo registro almacenado en una Tabla. Genere el DataEnviroment con su correspondiente conección y distintos comandos para relacionarlos con Distintos DataReport. Tres de ellos me dejan imprimir el total de datos de 3 distintas tablas, pero con uno de ellos necesito poder imprimir el registro seleccionado según un listview en un form. Luego coloque una sentencia SQL para que me traiga este registro pero me trae nuevamente todos, en este momento la sentencia la tengo redactada así:

Private Sub Imprimir_Asignacion_Click()
Call Imprimir
End Sub
----------------------------------------------------------
Private Sub Imprimir()
Dim RsImprimir As ADODB.Recordset
Set RsImprimir = New ADODB.Recordset

With ListView2.SelectedItem
RsImprimir.Open "SELECT * FROM Asignado WHERE ID = " & ListView2.SelectedItem.Textcnn, adOpenDynamic, adLockBatchOptimistic

DataReport3.Show 1

End With
End Sub
----------------------------------------------------------
A quien me pueda ayudar muchas gracias.....

PD: Alguien lo desea puedo pasarles el proyecto por correo para que vean más certeramente el error.
Saludos
José
  #2 (permalink)  
Antiguo 26/04/2011, 07:01
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 11 años, 3 meses
Puntos: 47
Respuesta: DataReport - DataEnviroment y Listview

Hola!!
Tienes todo pegado en:
Código vb:
Ver original
  1. ListView2.SelectedItem.Textcnn, adOpenDynamic, adLockBatchOptimistic

Debe ser:
Código vb:
Ver original
  1. ListView2.SelectedItem.Text, cnn, adOpenDynamic, adLockBatchOptimistic

Para este caso el campo ID es numerico, si es caracter debe ser:
Código vb:
Ver original
  1. ...ID='" & ListView2.SelectedItem.Text & "'", cnn, adOpenDynamic, adLockBatchOptimistic
  #3 (permalink)  
Antiguo 26/04/2011, 11:21
 
Fecha de Ingreso: marzo-2011
Ubicación: Florida-Uruguay
Mensajes: 74
Antigüedad: 9 años, 10 meses
Puntos: 4
Respuesta: DataReport - DataEnviroment y Listview

Perdon, se ve que al copiar el codigo lo puse mal, lo tengo así como indicas, (como ID es númerico lo tengo así WHERE ID = " & ListView2.SelectedItem.Text, cnn, adOpenDynamic, adLockBatchOptimistic
). Pero no me resulta. Tendra que ver el DataEnvironment?
  #4 (permalink)  
Antiguo 27/04/2011, 06:49
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 11 años, 3 meses
Puntos: 47
Respuesta: DataReport - DataEnviroment y Listview

!!!
Le asignaste el recordset al datareport??
Algo asi:

Código vb:
Ver original
  1. With DataReport3
  2.    Set .DataSource = Nothing
  3.    .DataMember = ""
  4.    Set .DataSource = RsImprimir.DataSource
  5. End With
  #5 (permalink)  
Antiguo 27/04/2011, 12:29
 
Fecha de Ingreso: marzo-2011
Ubicación: Florida-Uruguay
Mensajes: 74
Antigüedad: 9 años, 10 meses
Puntos: 4
Respuesta: DataReport - DataEnviroment y Listview

Si lo tengo agregado en el Sub Imprimir()
Pero ni corte,
  #6 (permalink)  
Antiguo 29/04/2011, 07:19
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 11 años, 3 meses
Puntos: 47
Respuesta: DataReport - DataEnviroment y Listview

Veo que tienes esto en el Sub Imprimir:

Código vb:
Ver original
  1. Private Sub Imprimir()
  2. Dim RsImprimir As ADODB.Recordset
  3. Set RsImprimir = New ADODB.Recordset
  4.  
  5. With ListView2.SelectedItem
  6. RsImprimir.Open "SELECT * FROM Asignado WHERE ID = " & ListView2.SelectedItem.Textcnn, adOpenDynamic, adLockBatchOptimistic
  7.  
  8. DataReport3.Show 1
  9.  
  10. End With
  11. End Sub

Debe ser algo asi:
Código vb:
Ver original
  1. Dim RsImprimir As ADODB.Recordset
  2. Set RsImprimir = New ADODB.Recordset
  3.  
  4. 'CARGAS EL RECORDSET
  5. With ListView2.SelectedItem
  6. RsImprimir.Open "SELECT * FROM Asignado WHERE ID = " & ListView2.SelectedItem.Text, cnn, adOpenDynamic, adLockBatchOptimistic
  7.  
  8. 'ASIGNAS EL RECORDSET AL DATA REPORT
  9. With DataReport3
  10.    Set .DataSource = Nothing
  11.    .DataMember = ""
  12.    Set .DataSource = RsImprimir.DataSource
  13. End With
  14.  
  15. 'MUESTRAS EL DATA REPORT
  16. DataReport3.Show 1
  17.  
  18. End With 'Fin del [With ListView2.SelectedItem]

Intenta a ver...
  #7 (permalink)  
Antiguo 29/04/2011, 15:35
 
Fecha de Ingreso: marzo-2011
Ubicación: Florida-Uruguay
Mensajes: 74
Antigüedad: 9 años, 10 meses
Puntos: 4
Respuesta: DataReport - DataEnviroment y Listview

Ahora me dice que:
"No se encontro rl DataField 'Command_Asignado.ID'
ID es el primer campo de la tabla Asignado (Command_Asignado es el nombre que le puse al Command del Dataenvironment), Si elimino del Datareport las popiedades del DataMember y DataSource me dice que el "No se encuentra el DataField 'Vacío'. Que debería hacer.-

Como siempre, gracias por tu ayuda!
  #8 (permalink)  
Antiguo 30/04/2011, 05:52
 
Fecha de Ingreso: marzo-2011
Ubicación: Florida-Uruguay
Mensajes: 74
Antigüedad: 9 años, 10 meses
Puntos: 4
De acuerdo Respuesta: DataReport - DataEnviroment y Listview

Lokoman, me di cuenta de donde esaba el error.

En las propiedades del Texto del Datareport, tenia puesto:
en el DataField = Refererncia a la columna de la Tabla
en el DataMember = Referencia a la Connección del DataEnvironment

Y en las propiedades del Datareport, tenia puesto:
en el DataSuorce = Refererncia al DataEnvironment
en el DataMember = Referencia a la Conneccion del DataEnvironment

Borre todas las referencias y solo puse manualmente la referencia DataField del Texto, y ahora si me llama al DataReport el registro que solicito por medio de la sentencia. Aclaro lo que hice porque tal vez le sirva a alguien, y esto no lo vi explicado en ningún lado, este es mi granito de arena.

Por otra parte: Si quisiera imprimir el resultado total de la consulta del listview, o sea los registros que me muestra el listview. Que parte de la sentencia tendría que cambiar?
Lo que imagino es que el (With ListView2.SelectedItem)
y el (RsImprimir.Open "SELECT * FROM Asignado WHERE ID = " & ListView2.SelectedItem.Text, cnn, adOpenDynamic, adLockBatchOptimistic
) deberían cambiar, modificando el ListView2.SelectedItem por algo pero no se que, si lo sabes te agradezco.
Como siempre, Enormemente agradecido por tus aportes
  #9 (permalink)  
Antiguo 03/05/2011, 08:39
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 11 años, 3 meses
Puntos: 47
Respuesta: DataReport - DataEnviroment y Listview

Intenta esto:
Coloca 1 CheckBox: si tiene el cotejo exportas todo, sino, exportas el seleccionado

Código vb:
Ver original
  1. ...
  2. ...
  3. ...
  4. With ListView2.SelectedItem 'SELECCIONA EL ITEM DEL LISTVIEW
  5.   IF chkTODO.VALUE=1 THEN 'EL CHECK ESTA COTEJADO
  6. ' HACEMOS UNA SELECCION DE TODO, SI TIENES UN SELECT ESPECIFICO QUE CARGA EL LISTVIEW, LO PONES AQUI
  7.      RsImprimir.Open "SELECT * FROM Asignado", cnn, adOpenDynamic, adLockBatchOptimistic
  8.    ELSE
  9. ' EL CHECK NO ESTA COTEJADO, HACE EL SELECT DEL ITEM SELECCIONADO
  10.      RsImprimir.Open "SELECT * FROM Asignado WHERE ID = " & ListView2.SelectedItem.Text, cnn, adOpenDynamic, adLockBatchOptimistic
  11.    END IF


  #10 (permalink)  
Antiguo 03/05/2011, 09:10
 
Fecha de Ingreso: marzo-2011
Ubicación: Florida-Uruguay
Mensajes: 74
Antigüedad: 9 años, 10 meses
Puntos: 4
Respuesta: DataReport - DataEnviroment y Listview

Yo lo había intentado sin el Check, el tema es que me trae todos los registros y no los cargados en el Listview. Mi intención es imprimir unicamente los cargados en el Listview. Por eso buscaba Cambiar el WHERE ID = " & ListView2.SelectedItem.Text
Un Abrazo.
  #11 (permalink)  
Antiguo 03/05/2011, 09:20
 
Fecha de Ingreso: marzo-2011
Ubicación: Florida-Uruguay
Mensajes: 74
Antigüedad: 9 años, 10 meses
Puntos: 4
Respuesta: DataReport - DataEnviroment y Listview

Como Hombre apurado que soy te envie el mensaje, pero luego vi que tu acertadamente pusiste en la sentencia: SI TIENES UN SELECT ESPECIFICO QUE CARGA EL LISTVIEW, LO PONES AQUI. Pues fue lo que hice y me funciono.
Declare un String en base a un combobox y condicione el primer Select con Where, como me enseñaste un día, y pumm, quedo listo.
Como siempre, muchas gracias, tenía la solucion adelante de mis ojos y no lo veía.
Un abrazo!!
  #12 (permalink)  
Antiguo 03/05/2011, 09:28
Avatar de lokoman  
Fecha de Ingreso: septiembre-2009
Mensajes: 502
Antigüedad: 11 años, 3 meses
Puntos: 47
Respuesta: DataReport - DataEnviroment y Listview

QUE BIEN!!

Etiquetas: datareport, listview
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 10:46.