BOF E EOF
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.
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.
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
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
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...
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...
blz Danikull
vamos ao trabalho, na duvida volto aos amigos.
Abraços
nereu
vamos ao trabalho, na duvida volto aos amigos.
Abraços
nereu
Tópico encerrado , respostas não são mais permitidas