BUSCAR MAIOR VALOR NO BD E RETORNAR UMA VARIAVEL
Boa tarde pessoal,
não estou conseguindo fazer uma pesquisa retornando o maior valor de uma tabela no access para um label do meu formulário. olhe se alguem consegue ajudar. Lembro que num_orc não é um campo de autonumeração, mas eu quero buscar o maior número para dar sequencia a ele...
[txt-color=#007100]Set TABELA = BANCO.OpenRecordset([Ô]SELECT max(num_orc) as orcament from orcamento WHERE excluido= false[Ô])
If TABELA.RecordCount > 0 Then
variavel.value = TABELA!num_orc[/txt-color]
não estou conseguindo fazer uma pesquisa retornando o maior valor de uma tabela no access para um label do meu formulário. olhe se alguem consegue ajudar. Lembro que num_orc não é um campo de autonumeração, mas eu quero buscar o maior número para dar sequencia a ele...
[txt-color=#007100]Set TABELA = BANCO.OpenRecordset([Ô]SELECT max(num_orc) as orcament from orcamento WHERE excluido= false[Ô])
If TABELA.RecordCount > 0 Then
variavel.value = TABELA!num_orc[/txt-color]
Para campos com chave primária, sem autonumeração, uso o seguinte código:
Funciona assim: abro a tabela e verifico se há algum registro nela (If Not .Eof). Se existir, movo o cursor para o último registro e adiciono mais um (NovoNumero = !num_orc + 1). Se não existir nenhum registro, então faço NovoNumero = 1.
A lógica é elementar.
Dim NovoNumero As Long
With Tabela
.Open [Ô]SELECT * FROM orcamento[Ô], Conn, adOpenStatic, adLockOptimistic
If Not .Eof Then
.MoveLast
NovoNumero = !num_orc + 1
Else
NovoNumero = 1
End With
Funciona assim: abro a tabela e verifico se há algum registro nela (If Not .Eof). Se existir, movo o cursor para o último registro e adiciono mais um (NovoNumero = !num_orc + 1). Se não existir nenhum registro, então faço NovoNumero = 1.
A lógica é elementar.
variavel.value teria de receber False ou True
porem se a variavel for string, long ou int
seria assim
porem se a variavel for string, long ou int
seria assim
dim Variavel as string
Set TABELA = BANCO.OpenRecordset([Ô]SELECT max(num_orc) as orcament from orcamento WHERE excluido= false[Ô])
If TABELA.RecordCount > 0 Then
variavel = TABELA!orcament[txt-color=#007100] [ô] veja bem vc criou um apelido para max(num_orc) e deve usa-lo[/txt-color]
Msgbox Variavel
End If
Goodspeakers o excluido e porque quando alguem exclui o orcamento eu mantenho o registro dele para outros fins, nao o excluo efetivamente..
Pessoal, vou dar uma olhada assim que chegar em casa, valeu!!
Pessoal, vou dar uma olhada assim que chegar em casa, valeu!!
Set TABELA = BANCO.OpenRecordset([Ô]SELECT max(num_orc) as orcament from orcamento WHERE excluido= false[Ô])
If TABELA.RecordCount > 0 Then
variavel.value = TABELA!orcament
end if
If TABELA.RecordCount > 0 Then
variavel.value = TABELA!orcament
end if
Cara esse procedimento aumenta sempre do ultimo numero porem tambem ao achar um numero faltando completa ele
EX:
Se a sequencia estiver assim
1
2
3
o procedimento coloca o numero 4 que é a sequencia
agora se estiver assim
1
2
4
o procedimento coloca o numero 3 que é o que esta faltando para a sequencia
ve se te ajuda
espero que te ajude
EX:
Se a sequencia estiver assim
1
2
3
o procedimento coloca o numero 4 que é a sequencia
agora se estiver assim
1
2
4
o procedimento coloca o numero 3 que é o que esta faltando para a sequencia
ve se te ajuda
Public Sub NovoCliente()
Dim vTamTab, X As Integer
Dim variavel As String
Set TABELA = Banco.OpenRecordSet([Ô]SELECT * FROM Orcamento WHERE excluido=false ORDER BY num_orc[Ô])
If TABELA.RecordCount = 0 Then
variavel = 1
Exit Sub
Else
TABELA.MoveFirst
vTamTab = TABELA.RecordCount
For X = 1 To vTamTab
If TABELA!num_orc <> X Then
Exit For
End If
TABELA.MoveNext
Next X
variavel = X
End If
Set TABELA = Nothing
End Sub
espero que te ajude
Tópico encerrado , respostas não são mais permitidas