TRABALHAR COM DADOS DO BD ACCESS [DUVIDA- AJUDA]

DARKYUSUKI 10/10/2012 03:09:59
#411678
ja tem uns 3 a 4 dias que to cavando na internet atras de algum tutorial ou codigo que de pra fazer isso mais nao encontrei nada, se alguem puder ajudar fico grato

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
KERPLUNK 10/10/2012 09:22:40
#411689
Amigo, o que você quer, é uma [Ô]solução pronta[Ô], seria melhor se mostrássemos como funciona a conexão com o banco de dados e como consultar tabelas. Assim, você aprende como funciona e pode fazer isso por sua própria conta. Vamos do começo, você sabe como funciona isso? Digo, sabe o que é necessário para poder abrir uma conexão com um banco de dados? A primeira coisa é adicionar a referência do ADO no seu projeto:
- 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...
FEDERHEN 10/10/2012 09:47:02
#411692
Continuando por onde o KERPLUNK parou, seguem instruções para abrir e fechar o banco


[ô]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
DARKYUSUKI 10/10/2012 15:44:48
#411736
bom primeira peço desculpas por deixar parecer que quero o codigo completo, na verdade eu so quero sabe como faze isso, e obrigado desde ja pela ajuda


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
FEDERHEN 10/10/2012 15:52:26
#411742
As tabelas voce trabalha assim:

[ô]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
KERPLUNK 10/10/2012 15:53:51
#411745
Muito bem, agora que já adicionou a referência do ADO, seu program pode fazer conexões com bancos de dados. Vamos por partes:
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.
DARKYUSUKI 10/10/2012 16:05:31
#411748
gente acho que nao precisa complica muito, o codigo que preciso e simples,


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
MARCELO.TREZE 10/10/2012 16:09:22
#411752
Então sua pergunta seria como listar todos usuários conectados ao banco?

DARKYUSUKI 10/10/2012 16:10:23
#411753
desculpa pela resposta duplicada, mais eu respondi sem ver o que o keper falo


quando coloca o codigo dos dois consta strConexao sem ser declarado, e necessario declara ele ne qual tipo ???
MARCELO.TREZE 10/10/2012 16:12:31
#411754
qual o banco de dados? e refaço minha pergunta você quer listar os usuários conectados ao banco, e retornar algumas propriedades do mesmo?

DARKYUSUKI 10/10/2012 16:16:41
#411755
banco de dados access, o que quero e simples, o usuario vai digita o login, o programa pesquisa no banco de dados o login e traz tudo que tiver aquele login, login no caso e chave primaria entao nao corre o risco de vim dois usuarios iguais,

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
Página 1 de 2 [12 registro(s)]
Tópico encerrado , respostas não são mais permitidas