CRYSTAL REPORT COM BANCO COM SENHA

SHADOM 14/04/2011 22:12:14
#371375
Boa noite Amigos do Vbmania...

estou precisando carregar um relatório do crystal report mas tá cada vez mais dificil.. Preciso carregar apenas 1 registro mas o banco tem senha.

Segue o código que eu estou usando

im strSql As String = [Ô]SELECT protocolo.codigo, protocolo.codcli, protocolo.status,protocolo.data, Clientes.nome FROM Clientes INNER JOIN protocolo ON Clientes.codcli = protocolo.codcli where codigo=[ô]00003[ô][Ô]


Dim ds As New DataSet()
Dim cmd As New OleDb.OleDbCommand(strSql, CON)
Dim adaptor As New OleDb.OleDbDataAdapter(cmd)
Dim crpt As New Protocolo
Dim strReportPath As String
adaptor.Fill(ds)
strReportPath = String.Concat(Replace(My.Application.Info.DirectoryPath(), [Ô]\bin\Debug[Ô], [Ô][Ô]), [Ô]\CrystalReport1.rpt[Ô])
crpt.Load(strReportPath)
[ô]CON.Open()
crpt.SetDataSource(ds)

CrystalReportViewer1.ReportSource = crpt

é um banco Access mas não to conseguindo de jeito algum.

Desde jah agradeço a atenção
SHADOM 14/04/2011 23:16:21
#371381
Obrigado pela resposta..

acontece que a conexão tem a passagem da senha.. segue

Public Function CON() As OleDb.OleDbConnection
Dim conn As New OleDb.OleDbConnection([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\banco.mdb;Persist Security Info=True;Jet OLEDB:Database Password=123456[Ô])
Try
If conn.State = ConnectionState.Closed Then conn.Open()
Catch ex As OleDb.OleDbException
MsgBox(ex.ErrorCode & [Ô] - [Ô] & ex.Message)
End Try
Return conn
End Function

eu consegui utilizando este comando:

crpt.SetDatabaseLogon([Ô]admin[Ô], [Ô]123456[Ô])

mas naum sei se isso eh o certo
SHADOM 15/04/2011 09:44:08
#371419
Obrigado pela resposta... O detalhe é que essa codificação é pra VB6... e eu preciso pra VB.net... Mas acredito que resolvi o problema...

Obrigado pela atenção de todos..
TECLA 15/04/2011 21:50:44
#371508
O arquivo .RPT está dentro da solução .NET?
SHADOM 15/04/2011 22:47:17
#371513
Sim... Ele está integrado no Vb.net.. eu usei o seguintes comandos e [Ô]aparentemente[Ô] tá dando certo:

Dim strSql As String = [Ô]SELECT protocolo.codigo, protocolo.codcli, protocolo.status,protocolo.data, Clientes.nome FROM Clientes INNER JOIN protocolo ON Clientes.codcli = protocolo.codcli where codigo=[ô]00003[ô][Ô]

Private Sub frmProtocoloRel_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ds As New DataSet()
Dim cmd As New OleDb.OleDbCommand(strSql, CON)
Dim adaptor As New OleDb.OleDbDataAdapter(cmd)
Dim crpt As New Protocolo
adaptor.Fill(ds)
crpt.SetDataSource(ds)
crpt.SetDatabaseLogon(BancoUser, BancoSenha)
crpt.RecordSelectionFormula = [Ô]{protocolo.codigo} = [ô][Ô] & RelatSQL & [Ô][ô][Ô]
CrystalReportViewer1.ReportSource = crpt
end sub

Deu certo pelo menos...

Não seria um tanto estranho adotar ado ao invés de ADO.net no VB.Net?? Não tem nada a ver com minha pergunta, mas acho que se for utilizar Plataforma.Net, o mais correto seria adotar o conceito .Net.. Nada contra NILSON2, mas achei meio sem sentido... Lembrando que é apenas minha opinião.. posso muito bem estar errado.
Tópico encerrado , respostas não são mais permitidas