Olá pessoal. Olha eu de novo!
Tenho um relatório com muitos texto box que devem sempre ser preenchido (documento padrão que o cliente usa, por isso tenho que dar um jeito de ser usado).
O preenchimento dos mesmos deve ser a partir de uma "consulta1" (imagem abaixo).
Diante da minha limitação VBA, a única forma que conheço de preencher estes TXTs é repetindo DLookup para todos.
Será que existe como usar um LOOP que chame o textobox e preencha-o a cada vez que o LOOP rodar.
Por exemplo considerando o código abaixo que montei:
o loop vai na 1ª linha da consulta, pega as informações, monta o nome do txt e preenche-o com o valor da média
Private Sub Detalhe_Print(Cancel As Integer, PrintCount As Integer)
Dim rsMedias As DAO.Recordset
Dim intIdAluno As Integer
Dim douMedia As Double
Dim intArea As Integer
Dim intSerie As Integer
Dim intdisciplina As Integer
Dim strCampo As Integer
Set rsMedias = CurrentDb.OpenRecordset("consulta1")
rsMedias.MoveFirst
On Error Resume Next
Do While Not rsMedias.EOF
intArea = rsMedias!disc_idArea 'pega o idArea
intdisciplina = rsMedias!hdet_idDisciplina 'pega o idDisciplina
intSerie = rsMedias!hdet_idSerie 'pega o idSerie
douMedia = rsMedias!hdet_media 'pega a média
strCampo = "m" & intArea & intdisciplina & intSerie 'monta o nome para o txt
' me.strcampo = Nz(DLookup("[hdet_media]", "consulta1", "[ref]='strCAmpo '"), "**") chama o txt e preenche-o com a média
rsMedias.MoveNext
Loop
rsMedias.Close
Set rsMedias = Nothing
Tenho um relatório com muitos texto box que devem sempre ser preenchido (documento padrão que o cliente usa, por isso tenho que dar um jeito de ser usado).
O preenchimento dos mesmos deve ser a partir de uma "consulta1" (imagem abaixo).
Diante da minha limitação VBA, a única forma que conheço de preencher estes TXTs é repetindo DLookup para todos.
Será que existe como usar um LOOP que chame o textobox e preencha-o a cada vez que o LOOP rodar.
Por exemplo considerando o código abaixo que montei:
o loop vai na 1ª linha da consulta, pega as informações, monta o nome do txt e preenche-o com o valor da média
Private Sub Detalhe_Print(Cancel As Integer, PrintCount As Integer)
Dim rsMedias As DAO.Recordset
Dim intIdAluno As Integer
Dim douMedia As Double
Dim intArea As Integer
Dim intSerie As Integer
Dim intdisciplina As Integer
Dim strCampo As Integer
Set rsMedias = CurrentDb.OpenRecordset("consulta1")
rsMedias.MoveFirst
On Error Resume Next
Do While Not rsMedias.EOF
intArea = rsMedias!disc_idArea 'pega o idArea
intdisciplina = rsMedias!hdet_idDisciplina 'pega o idDisciplina
intSerie = rsMedias!hdet_idSerie 'pega o idSerie
douMedia = rsMedias!hdet_media 'pega a média
strCampo = "m" & intArea & intdisciplina & intSerie 'monta o nome para o txt
' me.strcampo = Nz(DLookup("[hdet_media]", "consulta1", "[ref]='strCAmpo '"), "**") chama o txt e preenche-o com a média
rsMedias.MoveNext
Loop
rsMedias.Close
Set rsMedias = Nothing