USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Data Report - principiante com dúvida avançada...
CSRocha
BRASILIA
DF - BRASIL
ENUNCIADA !
Postada em 04/06/2008 10:24 hs            
Num post anterior, coloquei uma dúvida que eu mesmo já resolvi. Agora tenho outra.

Antes quero esclarecer que é a primeira vez que uso o DR. Peguei artigo do macoratti e uma dica aqui no VBWEB.

Queria entender como é feito o avanço no Recordset usado como DataSource. Vejam o código abaixo:

----------------------------
Private Sub cmdImprimir_Click()

  Dim csLivro As String, ContaRegistro As Integer

  csL = "Select Anoefetivo,Nome,Bolsista,Nascto,Naturalidade,Endereço,Bairro,Pai,DataMatri "
  csL = csL & "From tblAlunos Where Mid(Anoefetivo,3,1)='" & PosiAnoEfetivo & "' And Bolsista <> 'R' Order By Serie"

  Set rsA = New ADODB.Recordset
  rsA.CursorLocation = adUseClient
  rsA.Open csL, cnCMM, adOpenKeyset, adLockOptimistic, adCmdText

  With rptLivroMat
    Set .DataSource = Nothing
        .DataMember = ""

      Set .DataSource = rsA.DataSource

      ContaRegistro = 1

        With .Sections("Section1").Controls
          conta = 0

            For i = 1 To .Count
              If TypeOf .item(i) Is RptTextBox Then
              Debug.Print .item(i).Name
                conta = conta + 1
                .item(i).DataMember = ""
                .item(i).DataField = rsA.Fields(conta - 1).Name
    
              End If
            Next i

            .item("lbResidencia").Caption = "Teste: " & rsA.Fields(9).Value

            .item("lbMNum").Caption = ContaRegistro
            .item("lbNum").Caption = ContaRegistro
        End With

          ContaRegistro = ContaRegistro + 1
          .Show
  End With

End Sub
--------------------------

O código está funcionando como pretendo, faltando alguns ajustes, mas a variável contaregistro não está sendo incrementada, sempre me retorna 1.

Nesta linha:

.item("lbResidencia").Caption = "Teste: " & rsA.Fields(9).Value

só mostra o valor do primeiro registro, sempre se repetindo. É aí a minha dúvida: como o DR avança no RSet?

Outra coisa: posso apagar os arquivos .tmp que são gerados a cada teste que faço?
TÓPICO EDITADO
 
JOM
BOM JESUS DA LAPA
BA - BRASIL
ENUNCIADA !
Postada em 04/06/2008 12:42 hs            
Pode apagar os .tmp sem problemas, quanto ao relatorio, vc está querendo colocar um contador para saber quantos registros está mostrando ? se for, insira um controle FUNCTION do datareport que ele faz isso pra vc sem precisar de códigos, ou, incremente em sua SQL Select a função Count(campo) para retornar a quantidade de registros e lance num label ao final do datareport.
   
CSRocha
BRASILIA
DF - BRASIL
ENUNCIADA !
Postada em 04/06/2008 13:48 hs            
Não é bem isso, JOM. Esse contador eu quero que seja incrementado para ser mostrado em cada registro impresso. Ainda não descobri como é feito o avanço nos registros.

Outra dúvida, já que vc entende: nos campos Text não dá para fazer alguma função com o conteúdo da tabela. Explicando melhor: Tenho o campo de data de nascimento, que tem o formato 00/00/0000. Queria poder mostrar a data por extenso; para isso teria que fazer um tratamento do campo. Tem como?

No Crystal Report, que já usei há tempos passados, tem como criar fórmulas...

TÓPICO EDITADO
 
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página