RELATORIO DINAMICO
Estou tentando fazer um relatorio dinamico no vb6 mais infelismente ta dando um erro que não consigo descobri porque.... estou usando os seguintes codigos:
Citação:Private Sub consulta(sql1 As String)
Set RS = New Recordset
RS.CursorLocation = adUseClient
RS.Open sql1, con, adOpenKeyset, adLockOptimistic
Set grdvendas.DataSource = rsdyn
grdvendas.Refresh
lblmsg.Caption = [Ô]([Ô] & rsdyn.RecordCount & [Ô])[Ô] & [Ô] Item (s) [Ô] & [Ô] encontrados![Ô]
End Sub
O erro que dá é o : [Ô] Run-Time [ô]91[ô]: Object variable or with block variable set.[Ô]
e a linha que aponta o erro é:
Citação:Set grdvendas.DataSource = rsdyn
Se alguem puder me ajudar agradeço muito....
Forte Abraço
Verifique se está aberto...
Set grdvendas.DataSource = rsdyn
rsdyn.RecordCount
Por isso:
Set grdvendas.DataSource = Rs
Rs.RecordCount
Set RS = New Recordset
RS.CursorLocation = adUseClient
RS.Open sql1, con, adOpenKeyset, adLockOptimistic
[txt-color=#007100][ô]Libera a conexão com so servidor de dados e grava o record set na memória[/txt-color]
[txt-color=#e80000]Set RS.Connection = nothing[/txt-color]
[txt-color=#e80000] Set grdvendas.DataSource = RS[/txt-color]
grdvendas.Refresh
lblmsg.Caption = [Ô]([Ô] & rsdyn.RecordCount & [Ô])[Ô] & [Ô] Item (s) [Ô] & [Ô] encontrados![Ô]
acho que isso resolve seu problema
End Sub
Quero imprimir uma venda .... então criei um form venda onde lanço tudo em um MSFlexGrid, depois salvo no Banco de Dados (acess 2003) e ai qria ter a opção de imprimir caso o usuario quisesse.... tenho no meu form venda as seguinte função:
Citação:Private Sub consulta(sql1 As String)
Set RS = New Recordset
RS.CursorLocation = adUseClient
RS.Open sql1, con, adOpenKeyset, adLockOptimistic
Set grdvendas.DataSource = RS
[ô]RS.RecordCount
[ô]lblmsg.Caption = [Ô]([Ô] & rsdyn.RecordCount & [Ô])[Ô] & [Ô] Item (s) [Ô] & [Ô] encontrados![Ô]
End Sub
q continua dando erro :
Citação:, erro: [Ô] Run-Time [ô]91[ô]: Object variable or with block variable set.[Ô]Set grdvendas.DataSource = RS
na função active do form eu tenho :
Citação:Private Sub Form_Activate()
[ô]consulta ([Ô]select * from orders where shipcountry[Ô])
consulta ([Ô]select * from venda[Ô])
End Sub
e no botão no menu imprimir tenho:
Citação:Private Sub mnuimprimir_Click()
With DataReport1
Set .DataSource = Nothing
.DataMember = [Ô][Ô]
Set .DataSource = RS.DataSource
With .Sections([Ô]Section1[Ô]).Controls
For I = 1 To .Count
If TypeOf .Item(I) Is RptTextBox Then
[ô]O datamember deverá sempre ser enquanto estiver criando relatorios dinamicos
.Item(I).DataMember = [Ô][Ô]
.Item(I).DataField = RS.Fields(I - 1).Name
End If
Next I
End With
.Show
End With
End Sub
tentei tirar a função consulta, mas se tiro essa função qndo vai abrir o relatorio da o erro: [Ô]a operação não pode ser realizada qndo o objeto estiver aberto[Ô]
Estou fazendo certo? é isso mesmo q preciso? e ql o erro do meu codigo?
desde já agradeço!!!!
Citação:, da o erro : Compli error: Metho or data member not found[Ô]Set RS.Connection = nothing
Ai tirei o . Connection e deixei assim
Citação:RS = nothing
Fazendo isso da o mesmo erro de antes...
[Ô] Run-Time [ô]91[ô]: Object variable or with block variable set.[Ô]
rsdyn = New RecordSet
Então, você tem dois RecordSet[ô]s ???
é uma função/procedimento, então mostra como ela é conectada.
Se estiver no formulário, mostra em que você evento você está conectando.
[txt-color=#e80000][ô] cadê a declaração do recordset?[/txt-color]
Set RS = New Recordset
RS.CursorLocation = adUseClient
[txt-color=#e80000][ô]Cadê o comando sql?[/txt-color]
[txt-color=#e80000][ô]cadê a conexão [ô]con[ô]?[/txt-color]
RS.Open sql1, con, adOpenKeyset, adLockOptimistic
[ô]Libera a conexão com so servidor de dados e grava o record set na memória
Set RS.Connection = nothing
Set grdvendas.DataSource = RS
grdvendas.Refresh
lblmsg.Caption = [Ô]([Ô] & rsdyn.RecordCount & [Ô])[Ô] & [Ô] Item (s) [Ô] & [Ô] encontrados![Ô]
End Sub
[txt-color=#e80000]Qual grid vc está usando?
Microsoft Hierarchical Flex Grid ou a Microsoft Flex Grid?[/txt-color]