PROBLEMA COM BANCO DE DADOS ACCESS

OFERRARI 19/07/2010 19:25:11
#347794
Galera. Tenho uma tabela no banco de dados do access chamada de : [Ô] EntregaMudasAPRAZO [Ô]
e nessa tabela existe um campo chamado: [Ô]Cod[Ô].

Quando eu salvo os dados na tabela, é soma + 1 na tabela codigo,
Só que na hora que salvo os dados na tabela, acontece o seguinte:

A tabela salva os dados todos desordenados: ( Olhem a imagem da tabela. )

Quero que fique no campo [Ô]Cod[Ô] em ordem: Exemplo:

Cod
1
2
3
4
5
6
7
8
9
10

E vai entende.


O Código que estou usando para salvar é esse aqui:

Dim mes As Integer
Dim ano As Integer
Dim data As String
Dim valor As Integer
Dim SomarCodigo As Integer

mes = Format(TxtPagamentoDataPrimeiraParcela, [Ô]mm[Ô])
ano = Format(TxtPagamentoDataPrimeiraParcela, [Ô]yy[Ô])


For i = 1 To Val(TxtPagamentoNumeroParcelas.Text)

Set TbEntregaMudas = Banco.OpenRecordset([Ô]Select * from EntregaMudasAPRAZO order by Cod[Ô])
If TbEntregaMudas.BOF And TbEntregaMudas.EOF Then
SomarCodigo = 1
Else
TbEntregaMudas.MoveLast
SomarCodigo = TbEntregaMudas!cod + 1
End If

TbEntregaMudas.AddNew
TbEntregaMudas!cod = SomarCodigo
TbEntregaMudas!Nome_Do_Cliente = FrmPrincipal.TxtEntregarMudaNomeCliente.Text
TbEntregaMudas!Cultura = FrmPrincipal.TxtEntregarMudaCultura.Text
TbEntregaMudas!Variedade = FrmPrincipal.TxtEntregarMudaVariedade.Text
TbEntregaMudas!Tipo_De_Bandeija = FrmPrincipal.TxtEntregarMudaTipoBandeija.Text
TbEntregaMudas!Data_Entrega_Prevista = FrmPrincipal.TxtEntregarMudaDataEntrega.Text
TbEntregaMudas!Data_Da_Venda = FrmPrincipal.LABELEntregaMudaData.Caption
TbEntregaMudas!Data_De_Pagamento = Format(CDate(data), [Ô]dd/mm/yy[Ô])
TbEntregaMudas!Total_Bandeijas_Entregue = FrmPrincipal.TxtEntregarMudaTotalBandeijaEntrega.Text
TbEntregaMudas!Tipo_Do_Pagamento = [Ô]A Prazo[Ô]
TbEntregaMudas!Quantidade_De_Parcelas = TxtPagamentoNumeroParcelas.Text
TbEntregaMudas!Número_Da_Parcela = i
TbEntregaMudas!Valor_a_Pagar = CCur(parcela)
TbEntregaMudas.Update

mes = mes + 1
If mes > 12 Then
mes = 1
ano = ano + 1
End If

Next



Alguém. Por favor pode me ajudar ??

Desde de já. Agradeço.
OFERRARI 19/07/2010 19:50:38
#347798
Alguém, Por favor. Pode me ajudar ??
MARCELO.TREZE 19/07/2010 19:54:09
#347799
faça esta alteração

   Set TbEntregaMudas = Banco.OpenRecordset([Ô]Select Max(Cod) As Ultimo from EntregaMudasAPRAZO[Ô])
If TbEntregaMudas.BOF And TbEntregaMudas.EOF Then
SomarCodigo = 1
Else
SomarCodigo = TbEntregaMudas!Ultimo + 1
End If

OFERRARI 19/07/2010 20:00:33
#347802
Citação:

:
faça esta alteração

   Set TbEntregaMudas = Banco.OpenRecordset([Ô]Select Max(Cod) As Ultimo from EntregaMudasAPRAZO[Ô])
If TbEntregaMudas.BOF And TbEntregaMudas.EOF Then
SomarCodigo = 1
Else
SomarCodigo = TbEntregaMudas!Ultimo + 1
End If



Ta dando erro.

No meu fonte ficou assim:

Set TbEntregaMudas = Banco.OpenRecordset([Ô]Select max(Cod) as Cod from EntregaMudasAPRAZO[Ô])
If TbEntregaMudas.BOF And TbEntregaMudas.EOF Then
SomarCodigo= 1
Else
TbEntregaMudas.MoveLast
SomarCodigo = TbEntregaMudas!cod + 1
End If

Coloquei algo errado ??

O Ultimo seria o que ??
MARCELO.TREZE 19/07/2010 20:09:44
#347804
do jeito qu coloquei ultimo seria o correto, Ultiom é um apelido para o maior numero da tabela

mas qual o erro que apresentou
OFERRARI 19/07/2010 20:17:22
#347807
Deu esse erro aqui :

OFERRARI 19/07/2010 20:24:47
#347808
Por favor. Alguém pode me ajudar ??
MARCELO.TREZE 19/07/2010 20:25:35
#347809
tenta assim

Set TbEntregaMudas = Banco.OpenRecordset([Ô]Select Max(Cod) from EntregaMudasAPRAZO[Ô])
If TbEntregaMudas.BOF And TbEntregaMudas.EOF Then
SomarCodigo = 1
Else
SomarCodigo = TbEntregaMudas!cod + 1
End If
OFERRARI 19/07/2010 20:31:49
#347811
Deve estar faltando algo neste código que você me passou agora.


Deu outro erro, falando assim: Item não encontrado nesta coleção.
Será que não está faltando algo.

Esse [Ô]Select Max(Cod) from EntregaMudasAPRAZO[Ô]
O Cod desse Select é o campo que eu tenho em minha tabela neh.

Será que não está faltando algo ??




Alguém, Por favor. Pode me ajudar ??
MARCELO.TREZE 19/07/2010 20:43:28
#347812
eu não sei o primeiro erro que vc me disse aparceeu quando vc fez assim

Set TbEntregaMudas = Banco.OpenRecordset([Ô]Select Max(Cod) As Ultimo from EntregaMudasAPRAZO[Ô])
If TbEntregaMudas.BOF And TbEntregaMudas.EOF Then
SomarCodigo = 1
Else
SomarCodigo = TbEntregaMudas!Ultimo + 1
End If


pois assim terá de funcionar

veja bem não mude nada neste código

OFERRARI 19/07/2010 20:54:22
#347814
Deixei o Código exatamente como você me passou agora.


Deu erro também: ( Invalid use of null ) Numero do erro: 94.

Ta complicado de resolver isso.
Para o banco de dados salvar legalzinho:

Se a tabela estiver vazia e eu salvar algum dado, o banco salva certinho.
O campo [Ô]Cod[Ô] fica assim:

Cod
1
2
3
4

Agora se ja estiver algo salvo no banco.
Ele bagunça todos os registros.
O banco acaba ficando assim:

Cod

1
5
2
6
3
4


Alguém. Pode me ajudar ??
Página 1 de 2 [13 registro(s)]
Tópico encerrado , respostas não são mais permitidas