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

(Resolvido) Pesquisa em Banco de Dados com Form do VB-6


Danleonhart

Pergunta

Pessoal é o seguinte...

Como é que se faz para fazer uma consulta a um Banco de dados de maneira comparativa com o que está digitado em duas “TextBox” ?

Uso conexão ADODB

EX:

Text1 = Carro

Text2 = 30

Então ao clicar no CommandButton iniciará uma busca no Banco de Dados (Access 2003) nas colunas: “Produtos” & “Quantidade”.

Se for encontrado então dará uma resposta de POSITIVO (MsgBox), se houver algo de diferente (quer seja entre “Text1 x Produtos”, ou “Text2 x Quantidade”), então a resposta será NEGATIVA.

Para informação uso um Module com o seguinte script:

Public con As ADODB.Connection
Public rs As Recordset

Public Function abb()
Set con = New ADODB.Connection
con.Open "provider=microsoft.jet.oledb.4.0;data source = " & App.Path & "\nt2.mdb;jetoldb:database"
End Function

Public Function fcb()
con.Close
End Function
E para colocar informações no BD uso este script em um Botão:
Private Sub cmd_por_Click()
Dim pd, qt As Variant

Pd = Text1.text
Qt = Text2.text

abb
inserir = "Insert into tbl(Produto, Quantidade)" & "values('" & pd & "','" & qt & "')"
con.Execute inserir
fcb
End Sub

Pessoal espero ter sido claro, se não fui, é só me perguntar que respondo.

Desde já Obrigado !

Editado por Danleonhart
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

set rsdados = new adodb.recordset
rsdados.open "select * from tabela WHERE coluna1='" & txt1.text & "' and coluna2='" & txt2.text & "'",abb

fiz digitando aqui então pode conter erros, mas acho q esta certinho, da uma testada e nos poste o resultado:)

Link para o comentário
Compartilhar em outros sites

  • 0

acho que está correto o script sim, o que na verdade faltou foi validar para ver se o select retornou algo.

depois de abrir sua conexão (comando passado pelo Matheus), use.

if not rsdados.eof then
   msgbox("Item encontrado")
else
   msgbox("Item  não encontrado")
end if

Link para o comentário
Compartilhar em outros sites

  • 0

Fizemos pelo MSN por do while e boolean

set rsdados = new adodb.recordset
dim existe as boolean
existe=false
do while rsdados.eof=false and existe=false
if rsdados(..)=.. and rsdados(...)=.... then
existe=true
end if
rsdados.movenext
loop

if existe=true then
...
elseif existe=false and rsdados.eof=true then
...
end if

Link para o comentário
Compartilhar em outros sites

  • 0

Deu certinho Matheus-VB !

Meu erro foi não ter declarado as variáveis...

Havia colocado 'pd' para "Produto" e 'qt' para "Quantidade", porém não tinha dito quem era quem...ou seja:

pd = Txt1.Text

qt = Txt2.Text

O script ficou assim:

Private Sub cmd_por_Click()

abb
Dim existe As Boolean
Dim pd, qt As Variant

pd = Txt1.Text
qt = Txt2.Text

Set rs = New ADODB.Recordset
rs.Open "select * from tbl", con
Do While rs.EOF = False
If rs("Produto") = pd And rs("Quantidade") = qt Then
existe = True
End If
rs.MoveNext
Loop
If existe = True Then
MsgBox "Dados confere com o registro",vbInformation, "INFO."
Else
If existe = False And rs.EOF = True Then
MsgBox "Dados não conferem !", vbCritical, "Erro"
End If
End If
End Sub

Obrigado pela força também Raphael !

VALEU !!! :D :P :rolleyes: :rolleyes:

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...