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

Ayuda con un recordset

Estas en el tema de Ayuda con un recordset en el foro de Programación General en Foros del Web. hola tengo una aplicaion en vb 6 y usu una base de datos de access pero cuando hago lo siguiente: Dim rsetp As New ADODB.Recordset ...
  #1 (permalink)  
Antiguo 25/05/2004, 16:17
Avatar de jrp01  
Fecha de Ingreso: mayo-2004
Ubicación: México
Mensajes: 2.702
Antigüedad: 20 años
Puntos: 0
Ayuda con un recordset

hola tengo una aplicaion en vb 6 y usu una base de datos de access pero cuando hago lo siguiente:

Dim rsetp As New ADODB.Recordset
Set rsetp = cn.Execute("select DescripcionConcep from configuraciones where idempresa=1")

el recorset solo me muestra el primer registro o sea solo rsetp(0)

pero si hago un break y copio el codigo de la consulta si lo hace si meregresa todos los registros alguna idea de lo que pueda ser?
  #2 (permalink)  
Antiguo 25/05/2004, 16:37
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
Hola y bienvenido...

no será que te devuelve solo un valor por ésta restriccion..

Cita:
where idempresa=1
O acaso tienes varias empresas con ese mismo ID ??

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 25/05/2004, 16:39
 
Fecha de Ingreso: mayo-2004
Mensajes: 183
Antigüedad: 20 años
Puntos: 0
HOLA
recorres todos los elementos del recordset es decir un ejemplo

do whle not rsetp.EOF
rsetp.fields(0) 'no me acuerdo esta parte
rsetp.movenext
loop
  #4 (permalink)  
Antiguo 25/05/2004, 17:52
Avatar de jrp01  
Fecha de Ingreso: mayo-2004
Ubicación: México
Mensajes: 2.702
Antigüedad: 20 años
Puntos: 0
en la tabla solo cuento con 3 campos de los cuales solo quiero la descripcion y solo cuento con una empresa la cual tiene 3 registros en dicha tabla los cuales deseo obtener si esa instruccion la copio y pego el access el vista sql si funciona pero aqui solo me regresa el primer registro y no hago lo del ciclo por que esta consulta la mando a crystal reports en detalles pero el recorset no me devuelve todos los registro(que son 3 no 1)
  #5 (permalink)  
Antiguo 25/05/2004, 17:54
Avatar de jrp01  
Fecha de Ingreso: mayo-2004
Ubicación: México
Mensajes: 2.702
Antigüedad: 20 años
Puntos: 0
en cuanto a la restriccion ya la quite y tampoco funciona y solo cuento con una empresa
  #6 (permalink)  
Antiguo 28/05/2004, 11:56
 
Fecha de Ingreso: abril-2004
Ubicación: Managua
Mensajes: 150
Antigüedad: 20 años
Puntos: 0
Si la consulta deseas unirla a cristal report primero tienes que hacer directasmente la aplicacion desde cristal report luego, pasandole al momento de crearlo la consulta que tienes en access directamente, esto te regresara lo mismo que en access, luego guardalo y agrega el control de cristal report en visual basic e indicale la ruta del reporte que hiciste directamente en cristal report anteriormente, ademas especificale en la propiedad discarsavecomo true
  #7 (permalink)  
Antiguo 28/05/2004, 12:23
Avatar de Avelar  
Fecha de Ingreso: noviembre-2002
Ubicación: Ensenada, Baja California, México
Mensajes: 673
Antigüedad: 21 años, 5 meses
Puntos: 1
¿Puedes poner más código para ver qué puede ser?
__________________
Ariel Avelar
  #8 (permalink)  
Antiguo 28/05/2004, 14:06
Avatar de jrp01  
Fecha de Ingreso: mayo-2004
Ubicación: México
Mensajes: 2.702
Antigüedad: 20 años
Puntos: 0
Public cn As New ADODB.Connection

cn.ConnectionString = "DBQ=" & App.Path & "\db.mdb;DefaultDir=" & App.Path & _";Driver={Microsoft Access Driver (*.mdb)};UID=;Pwd=;"


seria lo unico que me faltaria el problema no es crystal este funciona bien lo que pasa es que el recorset no me regresa todos los registros de la tabla si la instruccion la copio y pego el access vista SQL y ejecuto la consulta si me arroja todos los registros pero aqui no, o si conocen otra manera de obtener registros de una tabla y asignarlos a un recorset.
  #9 (permalink)  
Antiguo 29/05/2004, 10:49
Avatar de Avelar  
Fecha de Ingreso: noviembre-2002
Ubicación: Ensenada, Baja California, México
Mensajes: 673
Antigüedad: 21 años, 5 meses
Puntos: 1
A ver si es algo así lo que tienes:
Código:
Dim ADOcommand As ADODB.Command
Dim rsetp As ADODB.Recordset
 
Set ADOcommand = CreateObject("ADODB.Command")
Set rsetp = CreateObject("ADODB.Recordset")
 
With AdoCommand
.ActiveConnection = cn 'Indicar la conexión activa para el objeto ADODB.Command.
.CommandTimeout = 600
.CommandText = "select DescripcionConcep from configuraciones where idempresa=1"
Set rsetp = .Execute 'Ejecutar la consulta.
End With
 
 
 
Do While rsetp.EOF = False
MsgBox rsetp(0)
rsetp.MoveNext
Loop
 
rsetp.Close
 
Set rsetp = Nothing
Set ADOcommand = Nothing
__________________
Ariel Avelar

Última edición por Avelar; 29/05/2004 a las 10:51
  #10 (permalink)  
Antiguo 02/06/2004, 15:58
Avatar de jrp01  
Fecha de Ingreso: mayo-2004
Ubicación: México
Mensajes: 2.702
Antigüedad: 20 años
Puntos: 0
ya intente lo que me pusiste y si el igual que el codigo que tengo si me regresa los registros pero al mandarlos al crystal no solo me regresa el primero. este esta en un subreporte y el codigo que utilizo es :

sent1 = "select cotizacion.idcotizacion, cotizacion.ant,cotizacion.preciocot,cotizacion.mon eda,vendedor.nomvendedor,cliente.nomcliente,client e.domcliente,cliente.cdcliente,cliente.telcliente, Enc_Pie_Cot.Encabezado, Enc_Pie_Cot.Pie,tempcot.reparacion"
sent2 = " from carrocerias,tempcot,cotizacion ,vendedor ,cliente, Enc_Pie_Cot where cotizacion.idcotizacion=" & Text1(0) & " and vendedor.idvendedor=" & Idvendedor & " and cliente.idcliente = '" & Text1(1) & "'" & " and Enc_Pie_Cot.IdEmpresa=1 and carrocerias.idcarroceria=" & idCarroceria & " and tempcot.idcotizacion=" & Text1(0)
sentencia = sent1 & sent2
Set rs = cn.Execute(sentencia)
sentencia = "select tempcotcarr.cantidad,tempcotcarr.descripcionconcep ,tempcotcarr.Precio,tempcotcarr.moneda from tempcotcarr where idcotizacion=" & Text1(0)
Set RsSR1 = cn.Execute(sentencia)
sentencia = "select DescripcionConcep from configuraciones where idempresa=1"
Set RsSr2 = cn.Execute(sentencia)
Set crpApplication = CreateObject("crystal.crpe.application")
Set crpReport = crpApplication.OpenReport(App.Path & "\Cotizacion_Rep.rpt")
Set crpDatabase = crpReport.Database
Set crpTables = crpDatabase.Tables
Set crpTable = crpTables.Item(1)
Call crpTable.SetPrivateData(3, rs)

'############# SubReportes #################

Set CrSections = crpReport.Sections
For X = 1 To CrSections.Count
Set CrSection = CrSections.Item(X)
Set CrReportObjs = CrSection.ReportObjects
For Y = 1 To CrReportObjs.Count
If CrReportObjs.Item(Y).Kind = crSubreportObject Then
If nosubrep = 0 Then
Set CrSubreportObj = CrReportObjs.Item(Y)
Set CrSubreportObj = CrReportObjs.Item(Y)
Set CrSubreport = crpReport.OpenSubreport(CrReportObjs(Y).Name)
Set crpDatabase = CrSubreport.Database
Set crpTables = crpDatabase.Tables
Set crpTable = crpTables.Item(1)
Call crpTable.SetPrivateData(3, RsSR1)
nosubrep = 1
Else
If nosubrep = 1 Then
Set CrSubreportObj = CrReportObjs.Item(Y)
Set CrSubreportObj = CrReportObjs.Item(Y)
Set CrSubreport = crpReport.OpenSubreport(CrReportObjs(Y).Name)
Set crpDatabase = CrSubreport.Database
Set crpTables = crpDatabase.Tables
Set crpTable = crpTables.Item(1)
Call crpTable.SetPrivateData(3, RsSr2) ' este es el que no funciona
End If
End If
End If
Next
Next

'###########################################
'Se dan los parámetros de la presentanción previa del reporte
crpReport.Preview " Cotización", 0, 0, 800, 600, 524288 Or 16777216 Or 268435456

Última edición por jrp01; 02/06/2004 a las 15:59
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




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