Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

NS-5 Without the 3 Law

[Resolvido] Instrução SQL não funciona

Recommended Posts

Galera, eu tenho isto aqui.

 

Dim c As New ADODB.Connection
Dim r As New ADODB.Recordset
Private Sub Command1_Click()


'Text1.Text = x
'Text2.Text = y



 c.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents and Settings\Felipe\Meus documentos\cidades.mdb"
 c.Open
 
 
c.Execute = "SELECT FROM munic_cod WHERE NomeMunic = '" & Text1.Text & "'; "



End Sub

Isso é no botão de procurar.

 

tenho 4 text

 

na primeira eu digitarei um nome tipo.. uma cidade.

e ele vai procurar no banco de dados o codigo dessa cidade e outros valores e campos.

 

mas como eu faço para jogar o valor desse select em cada text?

 

e está dando um erro no meu select que está ai quotado.

falando que ou tem erro de pontuação ou de argumentação.

 

Alguém ai pode me ajudar com isso?

 

popr avor!

 

brigadão!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É porque não é desse jeito NS-5 Without the 3 Law.

Se você quer executar um SELECT você precisa de um RecordSet para armazenar os dados.

 

Dim CONEXAO As New ADODB.Connection
Dim RECORDSEt As New ADODB.Recordset
Private Sub Command1_Click()


'Text1.Text = x
'Text2.Text = y



CONEXAO .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents and Settings\Felipe\Meus documentos\cidades.mdb"
CONEXAO .Open

Dim sSQL As String
sSQL = "SELECT FROM munic_cod WHERE NomeMunic = '" & Text1.Text & "'"
RECORDSEt.open sSQL,CONEXAO 

End Sub

Pronto, você tem seus dados. Trabalhe com o RecordSet.

 

 

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, continuou dndo o mesm erro,

 

como eu puxo o valor do recordset por exemplo para uma text ?

 

e no caso, está dando o mesmo erro, falando que o mesmo está na instrução SQL

que falta algum arguumento ou os parametros estão errados ou a pontuação precisa ser acertada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual o erro exatamente?

Compartilhar este post


Link para o post
Compartilhar em outros sites

"A Instrução SQL inclui uma palavra reservada ou um nome de argumento que está incorreto ou faltando, ou a pontuação está incorreta".

Run-Time Error '-2147217900 (80040e14)'

 

O nome do banco é

 

cidades.mdb

a tabela é munic_cod

e o campo é NomeMunic

Compartilhar este post


Link para o post
Compartilhar em outros sites

falta definir o que selecionar

 

SELECT FROM

nao tem anda entre o select e o from

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique se a instrução retornou alguma coisa.

 

If Not RECORDSET.Bof Then
 'retornou alguma coisa
 txt = RECORDSET("campo")
EndIf

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao vai retornar nada pois nada foi selecionado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Scorpio o Mário estava certo, havia um erro na instrução pois ela não definia o que selecionar.

 

Mas agora eu preciso saber.

Como que eu retorno o valor que está no recordset para a minha text ?

 

e se for mais de 1 campo

por exempo:

 

eu quero selecionar campo1, campo2 e campo3

como que eu salvo os 3 no record set depois divido em text ?

 

O código ficou assim

 

Dim c As New ADODB.Connection
Dim r As New ADODB.Recordset
Dim SQL As String


Private Sub Command1_Click()
 
 c.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = C:\Documents and Settings\Felipe_2\Meus documentos\codigos.mdb"
	c.Open
	SQL = "SELECT Munic FROM munic_cod WHERE NomeMunic = '" & Text1 & "';"
	r.Open SQL, c



End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, Primeiramente, Muito obrigado a todos que me ajudaram!

Não teria conseguido terminar o programa sem que me ajudasse =}

 

Eu pequisei feito louco e consegui achar o que eu procurava!

assim eu terminei o Script do Programa.

 

que ficou assim:

 

 

Dim c As New ADODB.Connection
Dim r As New ADODB.Recordset
Dim SQL As String


Private Sub Command1_Click()
If Text1.Text = "" Then
MsgBox "Preencha os campos para poder realizar a pesquisa", vbCritical, "Pesquisa Incorreta"
ElseIf Text2.Text = "" Then
MsgBox "Preencha os campos para poder realizar a pesquisa", vbCritical, "Pesquisa Incorreta"
ElseIf Text1.Text <> "" And Text2.Text <> "" Then
c.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source = C:\Documents and Settings\Felipe_2\Meus documentos\codigos.mdb"
c.Open
SQL = "SELECT Munic, NomeUF, NomeDistr FROM munic_cod WHERE NomeMunic = '" & Text1 & "' AND NomeUF = '" & Text2 & "';"
r.Open SQL, c
If Not r.EOF Then
Text3.Text = r![Munic] & ""
Text4.Text = r![NomeUF] & ""
Text5.Text = r![NomeDistr] & ""

End If
End If





End Sub

Private Sub Command2_Click()

Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""

r.Close
c.Close

End Sub

Private Sub Command3_Click()
End
End Sub

O problema inicial era realmente a instrução SQL que não continha o que comprar!

 

Muito obrigado a todos vocês =D

Compartilhar este post


Link para o post
Compartilhar em outros sites

parabens pela solucao

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.