TRABALHAR COM DADOS DO BD ACCESS [DUVIDA- AJUDA]
informações basicas, projeto em vb com banco de dados access,
o que preciso e o seguinte
tenho no banco de dados os seguintes campos usuario senha permissão etc etc
sendo que usuario e chave primaria
preciso de um codigo que abra conexão com o banco de dados e faça a pesquisa por usuario, e que traga com ele todas as informações e coloque em variaveis diferentes
exemplo
select usuario from tabela
e depois de achar ele coloque
user = usuario da tabela
pass = senha da tabela
perm = permissão na tabela
etc - etc da tabela
etc - etc da tabela
ja revirei esse forum e tem muita gente boa aqui porem nas pesquisas que fiz nao consegui achar nada que pude-se clarear as ideias pra acha um jeito de faze isso
se alguem puder ajuda ficarei grato
- No menu do seu VB, tem um chamado [Ô]Project[Ô] que possui uma opção [Ô]References[Ô], clique nela
- Vai aparecer uma janela com várias coisas para poder marcar. Procure por [Ô]Microsoft ActiveX Data Objects 2.X[Ô], muito possivelmente [Ô]2.8[Ô], marque essa. Se não tiver 2.8, marque a de versão mais recente possÃvel(2.7, 2.6...)
- Após marcar clique em OK
Com isso, você adicionou no seu projeto, a habilidade de se conectar com banco de dados... Faça isso primeiro e depois mostro como se faz para conectar no banco de dados...
[ô]coloque esta linha em um modulo
Public Conexao As ADODB.Connection
[ô]abrir banco
strConexao = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Persist Security Info=False;[Ô] & _
[Ô]Data Source=[Ô] & Banco & [Ô];[Ô] & _
[Ô]Jet OLEDB:Database Password=[Ô] & Senha & [Ô];[Ô]
Set Conexao = New ADODB.Connection
Conexao.ConnectionString = strConexao
Conexao.open
[ô]fechar banco
Conexao.Close
bom fiz os dois passos que me pediram, relacionado ao microsoft activex data objetcs 2x library, o meu tem a 2,8 porem tbm tem a 6.0, coloquei a 2.8 mais fica a duvida se e realmente a 2.8 ou a mais recente no caso 6.0
eu tava fazendo a conexão diferente, indo em data, add new data source, preocuro pelo banco de dados e add a tabela que desejo, isso ta errado ou e o proximo passo que vcs iam manda eu faze ???
bom fico no aguardo de novas instruções
[ô]incluir registros
sql = [Ô]INSERT INTO TabelaTeste(Campo1,Campo2,Campo3,Campo4) [Ô] & _
[Ô]VALUES([ô]1[ô],2,3,[ô][Ô] & Format(Now, [Ô]yyyy/mm/dd hh:mm:ss[Ô]) & [Ô][ô])[Ô]
Conexao.Execute sql
[ô]alterar registro
sql = [Ô]UPDATE TabelaTeste SET Campo2=2 WHERE Campo1 = [ô]1[ô][Ô]
Conexao.Execute sql
[ô]consulta registro
sql = [Ô]SELECT * FROM TabelaTeste[Ô]
Set Rs = New ADODB.Recordset
Rs.Open sql, Conexao, adOpenForwardOnly, adLockReadOnly
If Rs.EOF = False Then
Text1.text = Rs!Campo4
End If
Rs.Close
[ô]excluir registro
sql = [Ô]DELETE FROM TabelaTeste WHERE Campo1 = [ô]1[ô][Ô]
Conexao.Execute sql
1 - Crie um arquivo chamado [Ô]Banco.MDB[Ô] e coloque ele em alguma pasta na sua máquina.
2 - Abra o com o access mesmo e crie uma tabela qualquer nele, adicione alguns campos na tabela e alguns registros nela
No seu programa VB(que está com a referência do ADO) faça assim:
Crie um form, e dê duplo clique nele
Vai ser aberta a janela para escrever código que vai estar já posicionada no evento [Ô]Form_Load[Ô].
Dentro dessa rotina digite:
Dim cn As New ADODB.Connection
Set cn = New ADODB.Connection
strConexao = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Persist Security Info=False;[Ô] & _
[Ô]Data Source=[txt-color=#e80000]C:\PASTA\Banco.MDB[/txt-color];[Ô] & _
[Ô]Jet OLEDB:Database;[Ô]
cn.ConnectionString = strConexao
cn.Open
Dim rs As New ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open [Ô]Select * from SUA_TABELA_CRIADA[Ô], cn
Do while not rs.EOF
Msgbox rs([Ô]O_NOME_DE_ALGUM_CAMPO[Ô])
rs.MoveNext
Loop
rs.Close
cn.Close
Pronto, basta rodar o programa e veja o resultado. Quando tiver isso pronto, volte aqui e eu explico parte à parte o que você fez.
Dim conect, usuario, senha, permissão As New OleDb.OleDbCommand
Dim conexao As New OleDb.OleDbConnection
Dim user, pass, perm As String
conexao.ConnectionString = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;Data Source=[Ô] & Replace(Application.StartupPath, [Ô][Ô], [Ô][Ô]) & [Ô]\CyberEtecBD.mdb;Mode=ReadWrite;Persist Security Info=False[Ô]
conect.Connection = conexao
conect.CommandType = CommandType.Text
conect.CommandText = [Ô]Select usuario From CyberETEC Where usuario.text=?[Ô]
depois disso ele tem que puxa toda a linha, que contem usuario senha permissão tempodelogin
e joga em variaveis diferentes,
user = usuario
pass = senha
perm = permissão
temp = tempo de login
apartir daqui eu posso contrui o resto do programa
quando coloca o codigo dos dois consta strConexao sem ser declarado, e necessario declara ele ne qual tipo ???
apartir do momento que a pesquisa e feita por usuario ele traz usuario senha permissão e joga nas variaveis, apartir dai eu ja posso faze o que eu quise no programa
edit
consegui faze ele roda usando esse codigo
Citação:cn = New ADODB.Connection
strconexao = [Ô]Provider=Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Persist Security Info=False;[Ô] & _
[Ô]Data Source=C:/CyberEtecBD.MDB;[Ô] & _
[Ô]Jet OLEDB:Database;[Ô]
cn.ConnectionString = strConexao
cn.Open()
Dim rs As New ADODB.Recordset
rs = New ADODB.Recordset
rs.Open([Ô]Select * from CyberETEC [Ô], cn)
user = rs([Ô]usuario[Ô]).Value
perm = rs([Ô]Permissão[Ô]).Value
senha = rs([Ô]Senha[Ô]).Value
templogin = rs([Ô]tempodiario[Ô]).Value
Label1.Text = user
Label2.Text = perm
Label3.Text = senha
Label4.Text = templogin
Do While Not rs.EOF
[ô]MsgBox(rs([Ô]usuario[Ô]))
rs.MoveNext()
Loop
rs.Close()
cn.Close()
ele coloca nas labels as informações corretas, so que nao tem um pesquisa unica,
como eu altero o select para que ele traga as informações que preciso, ja tentei coloca
rs.Open([Ô]Select [Ô]+textbox1.text+[Ô] from CyberETEC [Ô], cn)
rs.Open([Ô]Select * from CyberETEC where [Ô]+textbox1.text+[Ô][Ô], cn)
e nenhum desses modos funciono