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

Select No Vb6.0


mestre fyoda

Pergunta

15 respostass a esta questão

Posts Recomendados

  • 0
agora ta dando pau no If rs.EOF Then

Operação não permitida quando o objeto esta fechado .

rs.Open sql, conexao
'comandos que utilizam o recordset
If rs.EOF Then
'comandos
Else
'comandos
End If
rs.Close

Está nessa ordem?

Link para o comentário
Compartilhar em outros sites

  • 0

ta dando erro Run-Time error '424'

Object Required .

sql = "SELECT * FROM usuarios WHERE codigo='" & Codigo.Text & "' "

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub Form_Load()
Dim sql As String
Set rs = CreateObject("ADODB.Recordset")
cn.CursorLocation = adUseClient 'Define o cursor como local
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Banco.mdb" 'Abre o BD
sql = "SELECT * FROM usuarios WHERE codigo='" & Codigo.Text & "' "
rs.Open sql, cn, 2, 3

Nome.Text = rs.Fields("nome").Value
End Sub

Link para o comentário
Compartilhar em outros sites

  • 0

ta dando erro Run-Time error '424'

Object Required .

sql = "SELECT * FROM usuarios WHERE codigo='" & Codigo.Text & "' "

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub Form_Load()
Dim sql As String
Set rs = CreateObject("ADODB.Recordset")
cn.CursorLocation = adUseClient 'Define o cursor como local
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Banco.mdb" 'Abre o BD
sql = "SELECT * FROM usuarios WHERE codigo='" & Codigo.Text & "' "
rs.Open sql, cn, 2, 3

Nome.Text = rs.Fields("nome").Value
End Sub
Observe que você bota:
Dim rs As New ADODB.Recordset
'e depois:
sql = "SELECT * FROM usuarios WHERE codigo='" & Codigo.Text & "' "
A consulta sql tem a seguinte sintaxe: Select nomedocampo FROM nomedatabela WHERE condicoes Acontece que o nome da tabela, é o nome da tabela que você declarou no código VB. Você não declarou nenhum recordset com o nome de usuarios. Faça assim:
sql = "Select * from rs WHERE codigo='" & Codigo.Text & "';"

Rodrigo

Editado:

Só uma pergunta... Por que você usa:

Dim rs As New ADODB.Recordset

E depois:

Set rs = CreateObject("ADODB.Recordset") ?

Se você dimensionou rs como um recordset, não precisa setar ele de novo, eu acho.

Link para o comentário
Compartilhar em outros sites

  • 0
ta dando erro Run-Time error '424'

Object Required .

sql = "SELECT * FROM usuarios WHERE codigo='" & Codigo.Text & "' "

Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub Form_Load()
Dim sql As String
Set rs = CreateObject("ADODB.Recordset")
cn.CursorLocation = adUseClient 'Define o cursor como local
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Banco.mdb" 'Abre o BD
sql = "SELECT * FROM usuarios WHERE codigo='" & Codigo.Text & "' "
rs.Open sql, cn, 2, 3

Nome.Text = rs.Fields("nome").Value
End Sub
Observe que você bota:
Dim rs As New ADODB.Recordset
'e depois:
sql = "SELECT * FROM usuarios WHERE codigo='" & Codigo.Text & "' "
A consulta sql tem a seguinte sintaxe: Select nomedocampo FROM nomedatabela WHERE condicoes Acontece que o nome da tabela, é o nome da tabela que você declarou no código VB. Você não declarou nenhum recordset com o nome de usuarios. Faça assim:
sql = "Select * from rs WHERE codigo='" & Codigo.Text & "';"
Rodrigo Editado: Só uma pergunta... Por que você usa: Dim rs As New ADODB.Recordset E depois: Set rs = CreateObject("ADODB.Recordset") ? Se você dimensionou rs como um recordset, não precisa setar ele de novo, eu acho.
Na verdade, não. O nome da tabela é o nome real da tabela no banco de dados. Nós usamos o nome do recordset para identificar um conjunto de registros de uma tabela, dentro do VB. Lembre-se que a SQL é uma string, portanto tudo que está escrito ali é interpretado literalmente. Se você escrever "SELECT * FROM rs" o retorno será todos os registros de uma tabela realmente chamada "rs" (não o Recordset que está no programa). Portanto está correto o "SELECT * FROM usuarios" desde que a tabela dele se chame realmente "usuarios". Quanto a instanciar um Recordset, existem duas maneiras:
dim rs as ADODB.recordset
...
set rs = CreateObject("ADODB.Recordset")
Ou simplesmente:
dim rs as new ADODB.Recordset

Ele não está usando nenhuma forma nem outra, mas sim uma mistura das duas. Entretanto, não existe problema algum em fazer isso também.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, alguém poderia me ajudar, não sei oque esta errado nesse comando,

Dim con As New ADODB.Connection
Dim rst As New ADODB.Recordset
rst.Open "Select * From Maquinas WHERE Nome=' " & txtNome.Text&" ' , con, adOpenKeyset, adLockOptimistic, adCmdText"

 

Editado por aleprans
Faltou informação
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,3k
×
×
  • Criar Novo...