Ayuda en programa de facturación

¿El error es en la consulta?
¿Me pasarías algo del código donde te da error para entenderte mejor?
¿O pásame la consulta si ahí esta el error?

1 Respuesta

Respuesta
1
Este es mi mail de hotmail [email protected]
Te dejo el de yahoo
[email protected]
Por favor si me podes mandar la base de datos
Que quiero probar la consulta
Hola amigos espero que me puedan ayudar es que estoy haciendo un programa de facturación que accede a una base de datos en access, las cuales contiene dos tablas una de facturas y otra de detalle, estas las tengo relacionadas por el numero de factura, la relación es de uno a muchos cuando hago el formulario en visual basic lo hago por la creación de formularios rápidos de visual, al ejecutar el formulario me sale el siguiente error en la relación factura numero to factura numero
No se que pueda ser espero me puedan ayudar o me puedan regalar un código que tenga algo parecido a lo que quiero,
gracias
La ayuda es urgente
mi correo es [email protected]
Aquí te envío el código para lo chequees y me avices por favor
gracias
Dim WithEvents adoPrimaryRS As Recordset
Private DoingRequery As Boolean
Public Event MoveComplete()
Private Sub Class_Initialize()
Dim db As Connection
Set db = New Connection
db.CursorLocation = adUseClient
db.Open "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=C:WINDOWSEscritoriolavafandb2.mdb;"
Set adoPrimaryRS = New Recordset
adoPrimaryRS.Open "SHAPE {select agencia,cliente,[codigo de cliente],descuento,direccion,[factura numero],fecha,[fecha salida],[iva 7%],observaciones,subtotal,telefono,[total prendas],[valor total] from facturas} AS ParentCMD APPEND ({select [codigo de prenda],articulo,cantidad,[valor unitario],total from detalle } AS ChildCMD RELATE factura numero TO factura numero) AS ChildCMD", db, adOpenStatic, adLockOptimistic
DataMembers.Add "Primary"
DataMembers.Add "Secondary"
End Sub
Private Sub Class_GetDataMember(DataMember As String, Data As Object)
If DoingRequery Then Exit Sub
Select Case DataMember
Case "Primary"
Set Data = adoPrimaryRS
Case "Secondary"
Set Data = adoPrimaryRS("ChildCMD").UnderlyingValue
End Select
End Sub
Private Sub adoPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
RaiseEvent MoveComplete
End Sub
Private Sub adoPrimaryRS_WillChangeRecord(ByVal adReason As ADODB.EventReasonEnum, ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)
'Aquí se coloca el código de validación
'Se llama a este evento cuando ocurre la siguiente acción
Dim bCancel As Boolean
Select Case adReason
Case adRsnAddNew
Case adRsnClose
Case adRsnDelete
Case adRsnFirstChange
Case adRsnMove
Case adRsnRequery
Case adRsnResynch
Case adRsnUndoAddNew
Case adRsnUndoDelete
Case adRsnUndoUpdate
Case adRsnUpdate
End Select
If bCancel Then adStatus = adStatusCancel
End Sub
Public Property Get EditingRecord() As Boolean
EditingRecord = (adoPrimaryRS.EditMode <> adEditNone)
End Property
Public Property Get AbsolutePosition() As Long
AbsolutePosition = adoPrimaryRS.AbsolutePosition
End Property
Public Sub AddNew()
adoPrimaryRS.AddNew
End Sub
Public Sub Delete()
adoPrimaryRS.Delete
MoveNext
End Sub
Public Sub Requery()
DoingRequery = True
DataMemberChanged "Primary"
DataMemberChanged "Secondary"
adoPrimaryRS.Requery
DoingRequery = False
DataMemberChanged "Primary"
DataMemberChanged "Secondary"
End Sub
Public Sub Update()
With adoPrimaryRS
.UpdateBatch adAffectAll
If .EditMode = adEditAdd Then
MoveLast
End If
End With
End Sub
Public Sub Cancel()
With adoPrimaryRS
.CancelUpdate
If .EditMode = adEditAdd Then
MoveFirst
End If
End With
End Sub
Public Sub MoveFirst()
adoPrimaryRS.MoveFirst
End Sub
Public Sub MoveLast()
adoPrimaryRS.MoveLast
End Sub
Public Sub MoveNext()
If Not adoPrimaryRS.EOF Then adoPrimaryRS.MoveNext
If adoPrimaryRS.EOF And adoPrimaryRS.RecordCount > 0 Then
Beep
'ha sobrepasado el final; vuelva atrás
adoPrimaryRS.MoveLast
End If
End Sub
Public Sub MovePrevious()
If Not adoPrimaryRS.BOF Then adoPrimaryRS.MovePrevious
If adoPrimaryRS.BOF And adoPrimaryRS.RecordCount > 0 Then
Beep
'ha sobrepasado el final; vuelva atrás
adoPrimaryRS.MoveFirst
End If
End Sub
Ahora tengo el código y tengo la base. Lo estuve analizando
¿Usas clases?
¿Para hacer un ejemplo tengo que crear una clase como dice el ejemplo?
Por favor enseñame vos a mi y explicame que significa esto de la consulta
"SHAPE {select ParentCMD APPEND,
AS ChildCMD RELATE S ChildCMD"
¿es un stored procedure?
Gracias.
Y por ultimo
Me podrías decir cual es el error que te da así estoy más orientado.
El error que me muestra esta en esta parte
RELATE factura numero TO factura numero
Necesito que me digas por favor porque utilizas
shape en la consulta
Acá están las dos consultas, la tuya y la mía.
¿Por qué tu primer provider es msdatashape?
'db.Open "PROVIDER=MSDataShape;Data PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source=C:WINDOWSEscritoriolavafandb2.mdb;"
db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:leandroayudaespañaayudafacturasencima.mdb;Persist Security Info=False"
¿Vos lo que quieres mostrar es cuando elegís una factura que te muestre el detalle?
Bueno te digo que la consulta tiene errores en los nombres de campos [] la mayoría la tienes con nombres compuestos y son nombres todo juntos.
Acá te mando la consulta hecha por mi dentro del access
SELECT agencia, cliente, [codigo de cliente], descuento, direccion, [factura numero], fecha, fechasalida, [iva 7%], observaciones, subtotal, telefono, totalprendas, valortotal, [codigo de prenda], articulo, cantidad, [valor unitario], total
FROM facturas AS f INNER JOIN detalle AS d ON d.[factura numero] = f.idfactura
Pégala en una consulta y pruébala
Aclarame esos puntos y te puedo seguir ayudando
¿Quería saber que había pasado?
Ojala hayas podido resolver el tema, si es así por favor podrías finalizar la pregunta para poder seguir ayudando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas