scandinavo 2/8/2010, 01:51
JPaulo
O codigo funcionou, preencheu todas as baixas,mas não executou o codigo de verificação
que havia neste campo.Tentei algumas alterações mas em vão.
Então inseri o meu codigo de verificação dentro desta função,funcionou mas na parte que adiciona mais um lançamento na tabela caso a qnt de saida for maior que a qnt em estoque do lote mais velho não, deu erro
A função ficou assim
Private Sub btConfirmar_Click()
Dim sobra As Long
Dim rst As Recordset
Set rst = Me.Recordset
rst.MoveFirst
Do While Not rst.EOF
With rst
.Edit
!Baixa = -1 'sua chekbox
.Update
'''''''''''''''''''''''''''inicio do codigo inserido
Me.sobra = DLookup("EstoqueLote", "SobraLote", "codIngredientes=" & "codIngrediente")
If IsNull(Me.sobra) Or Me.sobra = 0 Then
MsgBox "Estoque zerado!!!Aperte Esc para cancelar saida", vbInformation, "Aviso Importante"
Cancel = True
Me.Baixa.Undo
Exit Sub
End If
Dim CodIngredientes As Integer
cmbLote = DLookup("Lote", "SobraLote", "codIngredientes=" & "codIngrediente")
With Me
.cmbLote.Requery
End With
sobra = CLng(Me!sobra)
If qntSaida > sobra Then
MsgBox "Será nescessario dar mais uma saida de " & Me.NomeIngrediente & " de (" & Me!qntSaida - Me.sobra & ") do proximo lote para completar à quantidade solicitada de (" & Me!qntSaida & ")!", 64, "Completar qnt de saida"
Me.txtmsg = "De mais uma saida de " & Me.NomeIngrediente & " de (" & Me!qntSaida - Me.sobra & ")para completar à quantidade solicitada de (" & Me!qntSaida & ")!"
Me.txsobra = Me.qntSaida - Me.sobra
Me!qntSaida = sobra
''''''''''''''''''''''''''''se apagar esta parte funciona mas nao inseri o novo lancamento
'''se deichar esta dando erro aqui
Dim Conn As ADODB.Connection
'Dim rst As New ADODB.Recordset 'cancelei esta linha declaração duplicada no escopo atual
Dim strSQL As String
Set Conn = CurrentProject.Connection
Set rst = New ADODB.Recordset
strSQL = "Select * from tbsaida"
rst.Open strSQL, Conn, adOpenKeyset, adLockOptimistic '".open" metodo ou membros de dados não encontrado
rst.AddNew
rst!DataSaida = DataSaida
rst!CodIngrediente = CodIngrediente
rst!NomeIngrediente = NomeIngrediente
rst!qntSaida = txsobra
rst.Update
rst.Close
Set rst = Nothing
'''''''''''''''''''''''''''ate aqui
Else
End If
'''''''''''''''''''''''''''''''fim do codigo inserido
.MoveNext
End With
Loop
Set rst = Nothing
End Sub
tambem não sei se eu inseri minha função de verificação no lugar correto.
Obrigado pela ajuda