USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  SQL
MAX
não registrado
Postada em 24/11/2004 14:26 hs   

Alguém pode me ajudar a construir uma Busca no campo Quantidade na minha tabelaMercadorias todos os registro que estejam com a quantidade menor que 5.

     
Leolima
PORTO ALEGRE
RS - BRASIL
Postada em 24/11/2004 14:38 hs            
'num modulo
 
Public conn As New ADODB.Connection
Public caminho As String ' caminho da conecção
 
Public Sub abrir()
        caminho = (App.Path & "es.mdb")
        conn.Mode = adModeReadWrite
        conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & caminho & ";Persist Security Info=False"
End Sub
'no form
      Dim rs As New ADODB.Recordset
      Dim sQdade as integer
 
'no form load
sQdade = 5
      abrir
 
     rs.open "SELECT * FROM tabelamercadorias WHERE campoquantidade < " & sQdade,conn,adOpenKeyset, adLockOptimistic
 
End Sub
 
                                ' Espero ter ajudado!!!
 
      

"A mente que se abre para novas idéias jamais volta ao seu tamanho original".
(Albert Einstein)

----------------------------------------------PII-450-256MB-GForceII-64-TV/out-Soyo----- ----Agora com Framework 1.1 + Visual Studio 2003 + WinXP.  Acredite se quiser!---- 
 Leonardo Cassuriaga                                                            Fone:(51) 96394735
 Tecnico Informática                              __o                              Programador VB6.0
 Programador Web                              _>/,                                          DBA Access
-------------------------------------------(+)/(+)__________P_o_r_t_o__A_l_e_g_r_e_RS__
Charles   Darwin :   As   espécies   que   sobrevivem   não   são   as   mais   fortes,    mas as que melhor conseguem se adaptar às mudanças!
-----------------------------------------------------------------------------------------------

     
MAX
não registrado
Postada em 24/11/2004 15:21 hs   
Tentei esta dica sua mas não consegui sucesso.
Eu queria fazer uma consulta que localizasse os registro que contenham no campo quantidade valores menores que 5. (4,3,2,1)
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 24/11/2004 15:25 hs            
Max, teoricamente a resposta do LeoLima está correta...
Como vc faz a conexão ao Banco de dados e à sua tabela? Poderia colocar o código??
E o q aconteceu qdo vc tentou abrir a tabela por meio da dica do Leo?
 
obrigado
     
MAX
não registrado
Postada em 24/11/2004 15:45 hs   
Private Sub Form_Load()
abrir
abrir_Mercadorias
End Sub
 
 
'no modules
Public ws As Workspace
Public banco As Database
Public RS As Recordset

Public Sub abrir()
Set ws = DBEngine.Workspaces(0)
Set banco = ws.OpenDatabase(App.Path & "anco.mdb")
End Sub
 
Public Sub abrir_Mercadorias()
Set mercadorias = banco.OpenRecordset("SELECT * FROM tabMERCADORIAS ORDER BY ID Asc")
End Sub

 
     
ghost_jlp
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 25/11/2004 15:17 hs            
Ah, ok... vc está usando DAO... o exemplo do nosso colega LeoLima usa ADO para a conexão ao bco de dados...
bom, vamos criar um filtro para a sua tabela...faça assim:
 
************************************************************
Private Sub Form_Load()
abrir
abrir_Mercadorias
End Sub
 
 
'no modules
Public ws As Workspace
Public banco As Database
Public RS As Recordset
Public RSTemp as Recordset <= LINHA MODIFICADA

Public Sub abrir()
Set ws = DBEngine.Workspaces(0)
Set banco = ws.OpenDatabase(App.Path & "Banco.mdb")
End Sub
 
Public Sub abrir_Mercadorias()
Set mercadorias = banco.OpenRecordset("SELECT * FROM tabMERCADORIAS ORDER BY ID Asc")
 
'veja q eu não inicializei a variável RSTemp ainda
End Sub
 
'no form q vc usa para as consultas
Dim texto as String
 
'Botão para filtrar a sua tabela
 
Private Sub CmdFiltrar_Click()
 
texto = InputBox("Digite a quantidade","Filtrar")
RS.Filter = "Quantidade < " & texto 'Quantidade é o campo da sua tabela
Set RSTemp = RS.OpenRecordset 'Filtramos a sua tabela
RSTemp.MoveF irst 'Indo para o primeiro registro
texto = ""
 
'Um exemplo dos registros filtrados
Do While Not RSTemp.EOF
texto = RSTemp!Quantidade & vbCrLf & texto 'Registros do campo quantidade
RSTemp.MoveNext
Loop
MsgBox texto ' Mostra os registros do campo quantidade
************************************************************
 
Deste modo vc vai obter todos os registros menores do q a qtde q vc digitar na inputbox... se vc digitar 5 vão ser mostrados todos os registros q a qtde seja menor q 5 (4,3,2,1), se vc digitar 7 vão ser mostrados todos os registros q a qtde seja menor q 7 e assim por diante.
 
A sua tabela não foi modificada (variável RS)... se vc mostrar os registros da sua tabela todos os registros estarão lá, sem filtro.
Posso dizer q o DAO tem a propriedade filter um pouco estranha... se vc utilizar ADO fica mais fácil. Fazendo RS.filter = "quantidade < 5" ele já filtra direto mas isso não acontece no DAO, vc terá q fazer do jeito q expliquei acima...coisa estranha não? Emoções
qq dúvida é só postar novamente
 
t+
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página