TABELA TEMPORARIA BD

FILIPA 20/09/2013 08:51:19
#429095
caros colegas,

tenho a seguinte dúvida, neste momento meu código está apenas a gravar e mal faça outro documento elimina o anterior e eu queria que minha tabela guarda-sse todos os valores.

Citação:


Private Sub CalcularTotaisIVARC()
[ô]Vamos calcular totais para descriminação IVA

Dim rec As New ADODB.Recordset

Dim TxIsenta As Double
Dim TxReduzida As Double
Dim TxIntermedia As Double
Dim TxNormal As Double
Dim DsIsenta As String
Dim DsReduzida As String
Dim DsIntermedia As String
Dim DsNormal As String
Dim bsIsenta As Double
Dim bsReduzida As Double
Dim bsIntermedia As Double
Dim bsNormal As Double
Dim Documento As String
Dim NrDocumento As String
Dim IDDocumento As String

TxIsenta = 0: TxReduzida = 0: TxIntermedia = 0: TxNormal = 0
bsIsenta = 0: bsReduzida = 0: bsIntermedia = 0: bsNormal = 0

DsIsenta = [Ô]Taxa Isenta 0%[Ô]
DsReduzida = [Ô]Taxa Reduzida[Ô]
DsIntermedia = [Ô]Taxa Intermédia[Ô]
DsNormal = [Ô]Taxa Normal[Ô]

BD.RecOpen rec, [Ô]SELECT * FROM [Ô] & GetF2([Ô][Ô]) & [Ô] WHERE [Ô] & GetF1([Ô]ID[Ô]) & [Ô]=[Ô] & BD.ConvertValueNumber(txtFctID, NumberType_Long)

If BD.RecEmpty(rec) = False Then


Do Until rec.EOF

[ô]Taxa Isenta
If BD.getfieldvalue(rec, GetF2([Ô]TxIVA[Ô])) = 0 Then
TxIsenta = TxIsenta + BD.getfieldvalue(rec, GetF2([Ô]IVA[Ô]))
DsIsenta = [Ô]Taxa Isenta 0%[Ô]
bsIsenta = bsIsenta + (BD.getfieldvalue(rec, GetF2([Ô]Vlr[Ô])))

End If

[ô]Taxa Reduzida
If BD.getfieldvalue(rec, GetF2([Ô]TxIVA[Ô])) > 0 And BD.getfieldvalue(rec, GetF2([Ô]TxIVA[Ô])) < 10 Then
TxReduzida = TxReduzida + BD.getfieldvalue(rec, GetF2([Ô]IVA[Ô]))
DsReduzida = [Ô]Taxa Reduzida [Ô] & BD.getfieldvalue(rec, GetF2([Ô]TxIVA[Ô])) & [Ô]%[Ô]
bsReduzida = bsReduzida + (BD.getfieldvalue(rec, GetF2([Ô]Vlr[Ô])))

End If

[ô]Taxa Intermedia
If BD.getfieldvalue(rec, GetF2([Ô]TxIVA[Ô])) >= 10 And BD.getfieldvalue(rec, GetF2([Ô]TxIVA[Ô])) < 17 Then
TxIntermedia = TxIntermedia + BD.getfieldvalue(rec, GetF2([Ô]IVA[Ô]))
DsIntermedia = [Ô]Taxa Intermédia [Ô] & BD.getfieldvalue(rec, GetF2([Ô]TxIVA[Ô])) & [Ô]%[Ô]
bsIntermedia = bsIntermedia + (BD.getfieldvalue(rec, GetF2([Ô]Vlr[Ô])))

End If


[ô]Taxa Normal
If BD.getfieldvalue(rec, GetF2([Ô]TxIVA[Ô])) >= 17 Then
TxNormal = TxNormal + BD.getfieldvalue(rec, GetF2([Ô]IVA[Ô]))
DsNormal = [Ô]Taxa Normal [Ô] & BD.getfieldvalue(rec, GetF2([Ô]TxIVA[Ô])) & [Ô]%[Ô]
bsNormal = bsNormal + (BD.getfieldvalue(rec, GetF2([Ô]Vlr[Ô])))

End If
rec.MoveNext
Loop



End If
BD.RecClose rec, True
TaxaIsenta = TxIsenta
TaxaReduzida = TxReduzida
TaxaIntermedia = TxIntermedia
TaxaNormal = TxNormal
[ô]grava tabela temporária para report
If objSQLacs.Provider = 1 Or objSQLacs.Provider = 2 Then
[ô]ACCESS...
BD.RecOpen rec, [Ô]select * FROM TotaisIVA[Ô] [ô] WHERE Login=[ô][Ô] & BD.GetAcesso.UserLogin & [Ô][ô][Ô]
ElseIf objSQLacs.Provider = 3 Then
[ô]SQL...
BD.RecOpen rec, [Ô]select FROM TotaisIVA[Ô] [ô] WHERE Login=[ô][Ô] & BD.GetAcesso.UserLogin & [Ô][ô][Ô]
End If
BD.RecClose rec, True

BD.RecOpen rec, [Ô]SELECT * FROM TotaisIVA WHERE Login=[ô][Ô] & BD.GetAcesso.UserLogin & [Ô][ô][Ô]
If BD.RecEmpty(rec) = True Then rec.AddNew
BD.SetFieldValue rec, [Ô]As01[Ô], DsIsenta
BD.SetFieldValue rec, [Ô]As02[Ô], DsReduzida
BD.SetFieldValue rec, [Ô]As03[Ô], DsIntermedia
BD.SetFieldValue rec, [Ô]As04[Ô], DsNormal

BD.SetFieldValue rec, [Ô]An01[Ô], TxIsenta
BD.SetFieldValue rec, [Ô]An02[Ô], TxReduzida
BD.SetFieldValue rec, [Ô]An03[Ô], TxIntermedia
BD.SetFieldValue rec, [Ô]An04[Ô], TxNormal

BD.SetFieldValue rec, [Ô]An05[Ô], bsIsenta
BD.SetFieldValue rec, [Ô]An06[Ô], bsReduzida
BD.SetFieldValue rec, [Ô]An07[Ô], bsIntermedia
BD.SetFieldValue rec, [Ô]An08[Ô], bsNormal
[ô] BD.SetFieldValue rec, [Ô]Documento[Ô], Documento
[ô] BD.SetFieldValue rec, [Ô]NrDocumento[Ô], NrDocumento
[ô] BD.SetFieldValue rec, [Ô]IDDocumento[Ô], IDDocumento


BD.SetFieldValue rec, [Ô]Login[Ô], BD.GetAcesso.UserLogin
rec.Update
BD.RecClose rec, True

End Sub



a tabela da bd é a seguinte: totaisiva
queria que os dados ficassem todos guardados nesta tabela, e que sempre que faça um documento novo não elimine sempre o anterior

Faça seu login para responder