Ir para conteúdo
Fórum Script Brasil
  • 0

Caixa De Combinação


Synk

Pergunta

Boa tarde, na minha base de dados sobre uma turma de escola estou a usar um formulario que permite uma pesquisa directa do aluno atravez de uma inputbox que pede ao utilizador o nº do processo a pesquisar. Através do seguinte código consigo aceder directamente ao processo:

Private Sub Form_Open(Cancel As Integer)

[Caixa de combinação18].Visible = False

x = InputBox("Insira o número do processo a pesquisar:", "Pesquisa")

[Caixa de combinação18] = x

Dim RS As Object

Set RS = Me.Recordset.Clone

RS.FindFirst "[Número Processo] = " & Str(Nz(Me![Caixa de combinação18], 0))

If Not RS.EOF Then Me.Bookmark = RS.Bookmark

End Sub

Private Sub Caixa_de_combinação18_AfterUpdate()

' Localizar o registo que corresponde ao controlo.

Dim RS As Object

Set RS = Me.Recordset.Clone

RS.FindFirst "[Número Processo] = " & Str(Nz(Me![Caixa de combinação18], 0))

If Not RS.EOF Then Me.Bookmark = RS.Bookmark

End Sub

Adaptei o código de uma caixa de combinação à minha finalidade.

Mas agora obtenho um problema.Gostava de poder inserir na base de dados um controlo sobre o nº de processo, ou seja se o nº de processo inserido na inputbox não existir, devera ser gerado um erro.O problema é que não sei como verificar todos os valores da caixa de combinação.Pensei em usar um ciclo for ou while, mas não sei qual a propriedade da caixa de combinação que devo comprar dentro dos ciclos, e também não sei como saber o tamanho da caixa de combinação para parar os ciclos!!!

Alguém me pode ajudar?

Obrigado smile.gif

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Não testei seu código mais pelo que pude entender, as linhas que adicionei devem resolver seu problema cool.gif

Private Sub Form_Open(Cancel As Integer)

[Caixa de combinação18].Visible = False

x = InputBox("Insira o número do processo a pesquisar:", "Pesquisa")

[Caixa de combinação18] = x

dim tstvar as variant

tstvar=DLookup"[seuProcesso]", "SuaTabela", "[seuProcesso] = " & pesquisa)

if tstvar=null or tstvar="" then

tstvar=msgbox("Processo não encontrado!",vbOKOnly + vbCritical)

else

Dim RS As Object

Set RS = Me.Recordset.Clone

RS.FindFirst "[Número Processo] = " & Str(Nz(Me![Caixa de combinação18], 0))

If Not RS.EOF Then Me.Bookmark = RS.Bookmark

End Sub

Private Sub Caixa_de_combinação18_AfterUpdate()

' Localizar o registo que corresponde ao controlo.

Dim RS As Object

Set RS = Me.Recordset.Clone

RS.FindFirst "[Número Processo] = " & Str(Nz(Me![Caixa de combinação18], 0))

If Not RS.EOF Then Me.Bookmark = RS.Bookmark

end if

End Sub

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado pela ajuda!

Tentei fazer o que disse mas obtenho um erro:

"

Run-time error '2001'

A operação anterior foi cancelada por si

"

Eu pus o código tal como me indicou alterando o que devia para o seguinte:

tstvar = DLookup("[Número Processo]", "Alunos", "[Número Processo]= x")

O erro que aparece é gerado nesta linha!Algo esta mal e não consigo perceber o que!

O campo [Número Processo] é o campo que contém os numeros que deveram ser comparados e Alunos é o nome da tabela! "x" é a variavel que vai assumir o valor inserido na inputbox!O que fiz mal? como posso corrigir o erro?

já agora podia-me explicar uma coisa nesta parte do código:

if tstvar=null or tstvar="" then

tstvar=msgbox("Processo não encontrado!",vbOKOnly + vbCritical)

else

Para que se da a variavel tstvar o valor da msgbox? wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Agora aparece este erro "Tipo de dados incorrecto na expressão de critérios." sad.gif

Eu pesquisei no google pelo comando DLookup e como você me mandou usar é para ser usado em strings certo? Mas a variável x é de valor numérico, no entanto com a estrutura para valores obtenho à mesma o erro que disse no post anterior, tou a desesperar sad.gif acha que se trocarmos contacto MSN ou assim era mais facil para tentar resolver o problema? obrigado

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...