GALERA ME AJUDEMM PLEASE
GALERA OQUE EU ESTOU FAZENDO DE ERRADO NO BANCO DE DADOS COM 3 CAMINHO DE IMGENS DIFERENTE MAIS SO APARECE ESSA AE ESSE AE E MEU CODIGO QUE ESTOU USANDO
POR FAVOR ALGUEM ME AJUDE
Private Sub cmdImprimir1_Click()
Dim db_file As String
Dim conn As ADODB.Connection
Dim RS As ADODB.Recordset
Dim FOTO As String
On Error GoTo ERRO
If MsgBox([Ô]Confirma a impressão da OS?[Ô], vbQuestion + vbYesNo + vbDefaultButton2, [Ô]SisBorda[Ô]) = vbNo Then Exit Sub
[ô] Get the data.
db_file = App.path
If Right$(db_file, 1) <> [Ô]\[Ô] Then db_file = db_file & [Ô]\[Ô]
db_file = db_file & [Ô]\dados\dados.mdb[Ô]
[ô] Open a connection.
Set conn = New ADODB.Connection
conn.ConnectionString = _
[Ô]Provider=Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Data Source=[Ô] & db_file & [Ô];[Ô] & _
[Ô]Persist Security Info=False[Ô]
conn.Open
[ô] Open the Recordset.
[ô]Set rs = conn.Execute([Ô]SELECT * FROM osentra[Ô], , adCmdText)
Set RS = conn.Execute([Ô]SELECT * FROM OSENTRA WHERE OSN =[ô][Ô] & BUSCA.Text & [Ô][ô][Ô], , adCmdText)
[ô] Connect the Recordset to the DataReport.
Set rptdinamico.DataSource = RS
rptdinamico.WindowState = vbMaximized
With rptdinamico.Sections([Ô]section1[Ô])
Set .Controls([Ô]Image1[Ô]).Picture = LoadPicture(RS.Fields(27).Value)
RS.MoveFirst
End With
rptdinamico.Show vbModal
RS.Close
conn.Close
Exit Sub
ERRO:
End Sub
POR FAVOR ALGUEM ME AJUDE
Private Sub cmdImprimir1_Click()
Dim db_file As String
Dim conn As ADODB.Connection
Dim RS As ADODB.Recordset
Dim FOTO As String
On Error GoTo ERRO
If MsgBox([Ô]Confirma a impressão da OS?[Ô], vbQuestion + vbYesNo + vbDefaultButton2, [Ô]SisBorda[Ô]) = vbNo Then Exit Sub
[ô] Get the data.
db_file = App.path
If Right$(db_file, 1) <> [Ô]\[Ô] Then db_file = db_file & [Ô]\[Ô]
db_file = db_file & [Ô]\dados\dados.mdb[Ô]
[ô] Open a connection.
Set conn = New ADODB.Connection
conn.ConnectionString = _
[Ô]Provider=Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Data Source=[Ô] & db_file & [Ô];[Ô] & _
[Ô]Persist Security Info=False[Ô]
conn.Open
[ô] Open the Recordset.
[ô]Set rs = conn.Execute([Ô]SELECT * FROM osentra[Ô], , adCmdText)
Set RS = conn.Execute([Ô]SELECT * FROM OSENTRA WHERE OSN =[ô][Ô] & BUSCA.Text & [Ô][ô][Ô], , adCmdText)
[ô] Connect the Recordset to the DataReport.
Set rptdinamico.DataSource = RS
rptdinamico.WindowState = vbMaximized
With rptdinamico.Sections([Ô]section1[Ô])
Set .Controls([Ô]Image1[Ô]).Picture = LoadPicture(RS.Fields(27).Value)
RS.MoveFirst
End With
rptdinamico.Show vbModal
RS.Close
conn.Close
Exit Sub
ERRO:
End Sub
Como esta a sua tabela?
Os caminhos estão cada um em uma coluna especifica ou cada um esta em uma linha
vejo que no seu código você somente esta atribuindo uma imagem e não as outras
Set .Controls([Ô]Image1[Ô]).Picture = LoadPicture(RS.Fields(27).Value)
não existe um LOOP para pegar outras linhas caso seja necessário
Os caminhos estão cada um em uma coluna especifica ou cada um esta em uma linha
vejo que no seu código você somente esta atribuindo uma imagem e não as outras
Set .Controls([Ô]Image1[Ô]).Picture = LoadPicture(RS.Fields(27).Value)
não existe um LOOP para pegar outras linhas caso seja necessário
EM CADA LINHA SEPARADA
Então você tem que fazer um LOOP para pegar as próximas linhas
mas você tem quantos componentes Image para atribuir uma imagem no seu FORM.
Creio que seja somente 1 pelo o que eu vi. Então você precisa padronizar o relatório para receber as três imagens.
mas você tem quantos componentes Image para atribuir uma imagem no seu FORM.
Creio que seja somente 1 pelo o que eu vi. Então você precisa padronizar o relatório para receber as três imagens.
TENTEI UM LOOP AQUI MAIS DEU ERRADO
Dim db_file As String
Dim conn As ADODB.Connection
Dim RS As ADODB.Recordset
Dim FOTO As String
On Error GoTo ERRO
If MsgBox([Ô]Confirma a impressão da OS?[Ô], vbQuestion + vbYesNo + vbDefaultButton2, [Ô]SisBorda[Ô]) = vbNo Then Exit Sub
[ô] Get the data.
db_file = App.path
If Right$(db_file, 1) <> [Ô]\[Ô] Then db_file = db_file & [Ô]\[Ô]
db_file = db_file & [Ô]\dados\dados.mdb[Ô]
[ô] Open a connection.
Set conn = New ADODB.Connection
conn.ConnectionString = _
[Ô]Provider=Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Data Source=[Ô] & db_file & [Ô];[Ô] & _
[Ô]Persist Security Info=False[Ô]
conn.Open
Dim sos As Integer
sos = 1
While Not sos > 1
[ô] Open the Recordset.
[ô]Set rs = conn.Execute([Ô]SELECT * FROM osentra[Ô], , adCmdText)
Set RS = conn.Execute([Ô]SELECT * FROM OSENTRA WHERE OSN =[ô][Ô] & BUSCA.Text & [Ô][ô][Ô], , adCmdText)
[ô] Connect the Recordset to the DataReport.
Set rptdinamico.DataSource = RS
rptdinamico.WindowState = vbMaximized
Dim tont As Integer
tont = 1
With rptdinamico.Sections([Ô]section1[Ô])
Set .Controls([Ô]Image1[Ô]).Picture = LoadPicture(RS.Fields(27).Value)
RS.MoveFirst
End With
Wend
rptdinamico.Show vbModal
RS.Close
conn.Close
Exit Sub
Dim db_file As String
Dim conn As ADODB.Connection
Dim RS As ADODB.Recordset
Dim FOTO As String
On Error GoTo ERRO
If MsgBox([Ô]Confirma a impressão da OS?[Ô], vbQuestion + vbYesNo + vbDefaultButton2, [Ô]SisBorda[Ô]) = vbNo Then Exit Sub
[ô] Get the data.
db_file = App.path
If Right$(db_file, 1) <> [Ô]\[Ô] Then db_file = db_file & [Ô]\[Ô]
db_file = db_file & [Ô]\dados\dados.mdb[Ô]
[ô] Open a connection.
Set conn = New ADODB.Connection
conn.ConnectionString = _
[Ô]Provider=Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Data Source=[Ô] & db_file & [Ô];[Ô] & _
[Ô]Persist Security Info=False[Ô]
conn.Open
Dim sos As Integer
sos = 1
While Not sos > 1
[ô] Open the Recordset.
[ô]Set rs = conn.Execute([Ô]SELECT * FROM osentra[Ô], , adCmdText)
Set RS = conn.Execute([Ô]SELECT * FROM OSENTRA WHERE OSN =[ô][Ô] & BUSCA.Text & [Ô][ô][Ô], , adCmdText)
[ô] Connect the Recordset to the DataReport.
Set rptdinamico.DataSource = RS
rptdinamico.WindowState = vbMaximized
Dim tont As Integer
tont = 1
With rptdinamico.Sections([Ô]section1[Ô])
Set .Controls([Ô]Image1[Ô]).Picture = LoadPicture(RS.Fields(27).Value)
RS.MoveFirst
End With
Wend
rptdinamico.Show vbModal
RS.Close
conn.Close
Exit Sub
O LOOP não pode ser assim
Após essa linha
With rptdinamico.Sections([Ô]section1[Ô])
Faça assim
While Not RS.EOF
Set .Controls([Ô]Image1[Ô]).Picture = LoadPicture(RS.Fields(27).Value)
RS.MoveFirst
Wend
Lembrando que essa expressão esta sempre indo para o mesmo Control
Set .Controls([Ô]Image1[Ô]).Picture
O seja sempre atribuindo para o o objeto Image1 e ele sempre vai ter a ultima imagem.
Após essa linha
With rptdinamico.Sections([Ô]section1[Ô])
Faça assim
While Not RS.EOF
Set .Controls([Ô]Image1[Ô]).Picture = LoadPicture(RS.Fields(27).Value)
RS.MoveFirst
Wend
Lembrando que essa expressão esta sempre indo para o mesmo Control
Set .Controls([Ô]Image1[Ô]).Picture
O seja sempre atribuindo para o o objeto Image1 e ele sempre vai ter a ultima imagem.
assim tambem nao deu
Dim db_file As String
Dim conn As ADODB.Connection
Dim RS As ADODB.Recordset
Dim FOTO As String
On Error GoTo ERRO
[ô] Get the data.
db_file = App.path
If Right$(db_file, 1) <> [Ô]\[Ô] Then db_file = db_file & [Ô]\[Ô]
db_file = db_file & [Ô]\dados\dados.mdb[Ô]
[ô] Open a connection.
Set conn = New ADODB.Connection
conn.ConnectionString = _
[Ô]Provider=Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Data Source=[Ô] & db_file & [Ô];[Ô] & _
[Ô]Persist Security Info=False[Ô]
conn.Open
[ô] Open the Recordset.
[ô]Set rs = conn.Execute([Ô]SELECT * FROM osentra[Ô], , adCmdText)
Set RS = conn.Execute([Ô]SELECT * FROM OSENTRA WHERE OSN =[ô][Ô] & BUSCA.Text & [Ô][ô][Ô], , adCmdText)
[ô] Connect the Recordset to the DataReport.
Set rptdinamico.DataSource = RS
rptdinamico.WindowState = vbMaximized
With rptdinamico.Sections([Ô]section1[Ô])
While Not RS.EOF
Set .Controls([Ô]IMAGE1[Ô]).Picture = LoadPicture(RS.Fields(27).Value)
RS.MoveFirst
Wend
End With
rptdinamico.Show vbModal
RS.Close
conn.Close
Exit Sub
Dim db_file As String
Dim conn As ADODB.Connection
Dim RS As ADODB.Recordset
Dim FOTO As String
On Error GoTo ERRO
[ô] Get the data.
db_file = App.path
If Right$(db_file, 1) <> [Ô]\[Ô] Then db_file = db_file & [Ô]\[Ô]
db_file = db_file & [Ô]\dados\dados.mdb[Ô]
[ô] Open a connection.
Set conn = New ADODB.Connection
conn.ConnectionString = _
[Ô]Provider=Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Data Source=[Ô] & db_file & [Ô];[Ô] & _
[Ô]Persist Security Info=False[Ô]
conn.Open
[ô] Open the Recordset.
[ô]Set rs = conn.Execute([Ô]SELECT * FROM osentra[Ô], , adCmdText)
Set RS = conn.Execute([Ô]SELECT * FROM OSENTRA WHERE OSN =[ô][Ô] & BUSCA.Text & [Ô][ô][Ô], , adCmdText)
[ô] Connect the Recordset to the DataReport.
Set rptdinamico.DataSource = RS
rptdinamico.WindowState = vbMaximized
With rptdinamico.Sections([Ô]section1[Ô])
While Not RS.EOF
Set .Controls([Ô]IMAGE1[Ô]).Picture = LoadPicture(RS.Fields(27).Value)
RS.MoveFirst
Wend
End With
rptdinamico.Show vbModal
RS.Close
conn.Close
Exit Sub
mas a imagem mudou?
você depurou o seu código e viu se o sistema esta realmente capturando as informações corretas?
você leu o que eu escrevi referente ao objeto Image1?
Detalhe melhor o que esta ocorrendo para que possamos ajudar você
você depurou o seu código e viu se o sistema esta realmente capturando as informações corretas?
você leu o que eu escrevi referente ao objeto Image1?
Detalhe melhor o que esta ocorrendo para que possamos ajudar você
o sistema trava como se o loop nao tivesse fim
alguemm?
Meu caro, boa tarde.
Altere isso...
por isso:
O que está acontecendo é que você nunca chegará ao fim dos registros, como você sempre manda ele pro primeiro.
Altere isso...
Citação:While Not RS.EOF
Set .Controls([Ô]IMAGE1[Ô]).Picture = LoadPicture(RS.Fields(27).Value)
RS.MoveFirst
Wend
por isso:
Citação:While Not RS.EOF
Set .Controls([Ô]IMAGE1[Ô]).Picture = LoadPicture(RS.Fields(27).Value)
Wend
RS.MoveFirst
O que está acontecendo é que você nunca chegará ao fim dos registros, como você sempre manda ele pro primeiro.
Tópico encerrado , respostas não são mais permitidas