BOF E EOF

DANIKULL 06/09/2009 10:07:37
#322145
NEREU1301, bom dia.

Coloca o cursor na linha desejada e aperta F9. Faça isso em todas as linhas possíveis da sub rotina e rode o projeto, então va apertando F5 e analisando linha a linha da programação. Quandos e deparar com alguma variável passe o mouse sobre ela que você verá o resultado com tooltiptext, ok???

Veja se vai aparecer algo de estranho.....

Qualquer coisa poste novamente.
NEREU1301 06/09/2009 13:25:01
#322151
boa tarde danikull
abaixo vou colocar a sub e oque vejo é o seguinte.
1 - é o primeiro registro e ele começa a contar do dois?
2 - o new record retorna falso?
3 - aparentemente nao está encontrando a tabela?
Private Sub Incluir()
Dim Row As Integer
With rsOficina2
Do Until Row = GrdIncluiPec.Rows + 1 [ô]1=2+1
Call NewIdITens
Row = Row + 1 [ô]1=1+1
GrdIncluiPec.COL = 0 [ô]0 0
GrdIncluiPec.Row = Row [ô]1=1
If GrdIncluiPec.CellBackColor <> CDbl(&HC0C0C0) Then
If NewRecord = True Then .AddNew [ô]false
!Itens_nr = IdItens [ô]nada= 000001
!Numero_OS = CboNumOS.Text [ô]nada= 1
!Item = GrdIncluiPec.TextMatrix(Row, 0) [ô]nada= 001
!CodPeca = GrdIncluiPec.TextMatrix(Row, 1)
!NomePeca = GrdIncluiPec.TextMatrix(Row, 2)
!Quant = GrdIncluiPec.TextMatrix(Row, 3)
!valor = GrdIncluiPec.TextMatrix(Row, 4)
!TotLinha = GrdIncluiPec.TextMatrix(Row, 5)
.Update
.Requery
End If
Loop
End With

abro a tebela aqui

Private Sub Form_Load()
rsOficina2.Open [Ô]Select * from Oficina2[Ô], cnnCetecInfServiços, 1, 2
[ô]para excluir .temp
If Dir([Ô]d:*.tmp[Ô]) <> [Ô][Ô] Then
On Error Resume Next
Kill [Ô]d:*.tmp[Ô]
End If
Preenche_GrdPecas
Me.Caption = Me.Caption & [Ô] -[ [Ô] & ButtonClicked & [Ô] ]-[Ô]
EditarGrid = True
Call AtualizaFormulario
Call CabecalhoGrdIncluiPec
Call FormataLinha
ContaLinha = 1

End Sub


e aqui aparece newid=[Ô][Ô]

With rsOficina2
If .EOF = True And .BOF = True Then
NewId = 1
Else
.MoveLast
NewId = !Itens_nr + 1
End If
IdItens = [Ô][Ô]
IdItens = Format(NewId, [Ô]000000[Ô])
End With
DANIKULL 06/09/2009 16:00:18
#322159
NEREU1301, boa tarde.

Peguei sue projeto no topico anterior e estive olhando a estrutura do banco de dados e observei dois pontos críticos que precisam ser corrigidos:

01 - O projeto esta montado para duas tabelas aninhadas, ou seja, Tabela 01 sendo o cabecalho, que armazena as informações únicas tipo, data e hora de entrada, data e hora de saida, código do cliente e os serviços executados que neste casao são registros únicos e Tabela 02 sendo o corpo da manutenção, onde estaram todas as peças utilizadas no reporo que podem ser varias.

02 - Você não aplicou as 04 formas de normalização nas tabelas.

Voltando ao projeto a sub Incluir() funcionada da seguinte forma, ela pega o número principal, que no projeto original é o número do Pedido e amara na segunda tabela para identificar que tal item pertence ao pedido tal.

Faça a correção no BD, utilizando duas tabelas, volte e começe novamente a adaptação, ok??? Se você não conseguir poste novamente que te ajudaremos.

Abraços...
NEREU1301 06/09/2009 16:34:06
#322160
blz Danikull
vamos ao trabalho, na duvida volto aos amigos.

Abraços
nereu
Página 3 de 3 [24 registro(s)]
Tópico encerrado , respostas não são mais permitidas