|
|
Postada em 08/12/2004 14:14 hs
'**Uma forma mais fácil e rápida de trabalhar com o active é a seguinte: 'a) crie um novo designe active reports (Name: ActiveReport1); 'b) insira os campos necessários que serão visualizados no relatório; 'c) insira um controle ADO (Name: DataControl1) 'd) em references, selecione o Microsoft ADO 2.5 ou superior '*****Em um botão de comando faça: Private Sub Command1_Click() Me.MousePointer = 11 Dim cn As New ADODB.Connection Dim rst As New ADODB.Recordset Dim sPath As String Dim CodPesq As Long Dim strSQLRpx As String CodPesq = 10 strSQLRpx = "Select * From Tbl_Apartamentos WHERE Código=" & CodPesq & "" ' Código Numérico strSQLRpx = "Select * From Tbl_Apartamentos WHERE Código='" & CodPesq & "'" ' Código String '(não esqueça de testar esta string SQL - veja se está retornando dados) '***Conectando com o banco de dados-------------------------------------------------- sPath = App.Path & "SeuBd.MDB" cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sPath cn.Open '***Concluída a conecção com o banco de dados---------------------------------------- Set rst.ActiveConnection = cn 'passando a conecção para o active reports rst.CursorLocation = adUseClient rst.Open strSQLRpx, , adOpenStatic, adLockBatchOptimistic rst.ActiveConnection = Nothing Dim rpt As New ActiveReport1 'instanciando o relatório Set rpt = New ActiveReport1 rpt.DataControl1.Recordset = rst rpt.Show 1 'visualizando o relatório End Sub '**Creio que isso resolverá seu problema; qualquer dúvida, é só postar.. 
Marcone
|
|
|
|
|
|
Korn
|
SAO PAULO SP - BRASIL
|
|
Postada em 10/12/2004 11:06 hs
Jesus Cristo é O Senhor!!!
|
|
|
|
Korn
|
SAO PAULO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 13/12/2004 12:07 hs
ae vei So q esse filtro nao esta funcionando, estda dando erro de overflow, por favor alguem pode me ajudar
Jesus Cristo é O Senhor!!!
|
|
|
|
|
|
Postada em 13/12/2004 13:29 hs
Dim CodPesq As Long strSQLRpx = "Select * From Tbl_Apartamentos WHERE Código=" & CodPesq & "" ' Código Numérico strSQLRpx = "Select * From Tbl_Apartamentos WHERE Código='" & CodPesq & "'" ' Código String O problema é que você está usando a mesma variável duas vezes; uma passando um valor numérico e a outra passando uma string. O erro ocorre porque você está atribuindo uma string a uma variável numérica (CodPesq).
Marcone
|
|
TÓPICO EDITADO
|
|
|
|
Korn
|
SAO PAULO SP - BRASIL
|
|
Postada em 13/12/2004 16:18 hs
eu estou com dois codigos aki pra faze a mesmo coisa veio um e esse q da erro tipo asim type mysmatch, e aponta akele codigo " CodPesq= select....... Private Sub Command1_Click() Me.MousePointer = 11 Dim Bdimobiliaria As New ADODB.Connection Dim rst As New ADODB.Recordset Dim sPath As String Dim CodPesq As Long Dim strSQLRpx As String CodPesq = 10 CodPesq = "Select * From Tbl_Apartamentos WHERE Código=" & CodPesq & "" ' Código Numérico strSQLRpx = "Select * From Tbl_Apartamentos WHERE Código='" & CodPesq & "'" ' Código String '(não esqueça de testar esta string SQL - veja se está retornando dados) '***Conectando com o banco de dados-------------------------------------------------- sPath = App.Path & "Bdimobiliaria.mdb" Bdimobiliaria.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sPath Bdimobiliaria.Open '***Concluída a conecção com o banco de dados---------------------------------------- Set rst.ActiveConnection = Bdimobiliaria 'passando a conecção para o active reports rst.CursorLocation = adUseClient rst.Open strSQLRpx, , adOpenStatic, adLockBatchOptimistic rst.ActiveConnection = Nothing Dim rpt As New ActiveReport1 'instanciando o relatório Set rpt = New ActiveReport1 rpt.DataControl1.Recordset = rst rpt.Show 1 'visualizando o relatório End Sub e estou usando esse marcone q da erro de overflow, ate entra no formulario ele pega o registro pra imprimir q esta selecionado no form , somente esse registro fica pra imprimir no relatorio , mas quando eu saio do relatorio e volto para o form o mause fica q nem uma ampulheta e se eu saio do form e depois volta da esse erro de overflow , eu nao entendi o pq teve q no formulario menu tirar a conexao do banco mudou a estrutura do meu program Private Sub cmdimprimRelApart_Click() Me.MousePointer = 11 Dim cn As New ADODB.Connection Dim rst As New ADODB.Recordset Dim sPath As String Dim sSql As String sPath = App.Path & "BdImobiliaria.MDB" If rst.State = adStateOpen Then '***Se o recordset estiver aberto, feche-o rst.Close Set rst = Nothing End If sSql = "select * from tbl_Apartamentos WHERE CodigoImo ='" & Me.txtcodimo & "'" cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sPath cn.Open Set rst.ActiveConnection = cn rst.CursorLocation = adUseClient rst.Open sSql, , adOpenStatic, adLockBatchOptimistic rst.ActiveConnection = Nothing Dim rpt As New ActiveReport1 Set rpt = New ActiveReport1 rpt.DataControl1.Recordset = rst rpt.Show 1 End Sub
Jesus Cristo é O Senhor!!!
|
|
|
|
|
|
Postada em 13/12/2004 17:00 hs
CodPesq = 10 CodPesq = "Select * From Tbl_Apartamentos WHERE Código=" & CodPesq ' Código Numérico
Você pode usar apenas o código acima, não precisa usar os dois códigos do SQL que retornarão a mesma coisa. Com relação à ampulheta, faça o seguinte: no form onde ela aparece, coloque o seguinte código no evento ACTIVATE do mesmo: screen.mousepointer=0 isso resolverá o problema
Marcone
|
|
|
|