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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Crystal Reports: ATUALIZAR REGISTROS
Juan Carlos R.A
não registrado
ENUNCIADA !
Postada em 28/09/2010 14:36 hs   
'aqui reinicia
frmMenu.CryRep.Reset
'essa opção atualiza
FrmMenu.CryRep.DiscardSavedData = True
   
Titon
RIO DE JANEIRO
RJ - BRASIL
ENUNCIADA !
Postada em 28/09/2010 15:53 hs         
Juan Carlos,
não sei se expliquei bem mas vou tentar passar o meu problema. Eu ja tentei usar o reset e o discardsavedata porém não obtive êxito. O meu código está certo, só q o CR não atualiza, porém qndo eu coloco um breakpoint no meu codigo eu não sei porque mas ele atualiza. Já tentei de todas as formas fazer com q o CR atualize mas não consegui, já vasculhei todo o fórum, inclusive de outros sites, mas ainda consegui fazer meu relatório atualizar.
Mas obrigado por responder.
 
Ewerton Moreira.
   
Titon
RIO DE JANEIRO
RJ - BRASIL
ENUNCIADA !
Postada em 28/09/2010 16:38 hs         
vou colocar o meu codigo pra q vc possa entender melhor o q eu to dizendo:
 
 'Apaga se tem Algo no Banco
 If Not DtTB_DADOS.Recordset.EOF And Not DtTB_DADOS.Recordset.BOF Then
  DtTB_DADOS.Database.Execute "DELETE * FROM TB_DADOS"
 End If
 
 'Grava na TB_DADOS
 For i = 0 To 9
  If TxtLj_Cod(i).Text <> "" Then
   DtTB_DADOS.Recordset.AddNew
   DtTB_DADOS.Recordset.Fields("REF") = LojaEtq & TxtLj_Cod(i).Text
   DtTB_DADOS.Recordset.Fields("COR") = TxtCor(i).Text
   DtTB_DADOS.Recordset.Fields("TAM") = TxtTam(i).Text
   DtTB_DADOS.Recordset.Update
  End If
 Next
 
 DtTB_DADOS.DatabaseName = App.Path & "Etiquetas.mdb"
 DtTB_DADOS.RecordSource = "TB_DADOS"
 DtTB_DADOS.Refresh
 
 'PASSAR PARA TB_ETQ NO FORMATO NECESSARIO
 If DtTB_DADOS.Recordset.EOF And DtTB_DADOS.Recordset.BOF Then
  MsgBox "O arquivo está vazio!", vbOKOnly + vbExclamation, "Imprime Etiquetas"
  Exit Sub
 End If
 DtTB_DADOS.Recordset.MoveMin
 While Not DtTB_DADOS.Recordset.EOF
  RefAux = DtTB_DADOS.Recordset.Fields("REF")
  CorAux = DtTB_DADOS.Recordset.Fields("COR")
  TamAux = DtTB_DADOS.Recordset.Fields("TAM")
  Contador = Contador + 1
  ReDim Preserve Ref(1 To Contador)
  ReDim Preserve Cor(1 To Contador)
  ReDim Preserve Tam(1 To Contador)
  Ref(Contador) = RefAux
  Cor(Contador) = CorAux
  Tam(Contador) = TamAux
 
  DtTB_DADOS.Recordset.MoveNext
 Wend
 DtTB_DADOS.Recordset.Close
 If Contador = 0 Then Exit Sub
 
 ReDim Preserve R(1 To Contador)
 ReDim Preserve C(1 To Contador)
 ReDim Preserve T(1 To Contador)
 For f = 1 To Contador
  R(f) = Ref(f)
  If Len(R(f)) < 10 Then
   R(f) = R(f) + Space(10 - Len(R(f)))
  End If
  C(f) = Cor1 + Cor(f)
  If Len(C(f)) < 10 Then
   C(f) = C(f) + Space(10 - Len(C(f)))
  End If
  T(f) = Cor2 + Tam(f)
  If Len(T(f)) < 10 Then
   T(f) = T(f) + Space(10 - Len(T(f)))
  End If
 Next
 LinhaAux = 0
 Registro = 1
   
 'Monta Linhas
 For f = 1 To Int(Contador / 5) + 1
  If (Contador - Registro) >= 5 Then
   LinhaAux = LinhaAux + 3
    ReDim Preserve Linha(1 To LinhaAux)
     For i = 1 To 5
      Linha(LinhaAux - 2) = Linha(LinhaAux - 2) & Space(Espaco(i)) & R(Registro)
      Linha(LinhaAux - 1) = Linha(LinhaAux - 1) & Space(Espaco(i)) & C(Registro)
      Linha(LinhaAux) = Linha(LinhaAux) & Space(Espaco(i)) & T(Registro)
      Registro = Registro + 1
     Next
  Else
   LinhaAux = LinhaAux + 3
   ReDim Preserve Linha(1 To LinhaAux)
   For i = 1 To (Contador - Registro) + 1
    Linha(LinhaAux - 2) = Linha(LinhaAux - 2) & Space(Espaco(i)) & R(Registro)
    Linha(LinhaAux - 1) = Linha(LinhaAux - 1) & Space(Espaco(i)) & C(Registro)
    Linha(LinhaAux) = Linha(LinhaAux) & Space(Espaco(i)) & T(Registro)
    Registro = Registro + 1
   Next
  End If
 Next
 DtTB_ETQ.DatabaseName = App.Path & "Etiquetas.mdb"
 DtTB_ETQ.RecordSource = "TB_ETQ"
 DtTB_ETQ.Refresh
 
 If Not DtTB_ETQ.Recordset.EOF And Not DtTB_ETQ.Recordset.BOF Then
  DtTB_ETQ.Database.Execute "DELETE * FROM TB_ETQ"
 End If
 For f = 1 To LinhaAux Step 3
  DtTB_ETQ.Recordset.AddNew
  DtTB_ETQ.Recordset.Fields("LINHA1") = Linha(f)
  DtTB_ETQ.Recordset.Fields("LINHA2") = Linha(f + 1)
  DtTB_ETQ.Recordset.Fields("LINHA3") = Linha(f + 2)
  DtTB_ETQ.Recordset.Update
 Next
 DtTB_ETQ.Recordset.Close
 
 'Chama Crystal Reports
 RptETQ.Destination = 0
 RptETQ.ReportFileName = App.Path & "Etiquetas.RPT"
 RptETQ.DataFiles(0) = App.Path & "Etiquetas.mdb"
 RptETQ.WindowTitle = "Impressão de Etiquetas"
 RptETQ.WindowTop = 0: RptETQ.WindowLeft = 0
 RptETQ.WindowHeight = Screen.Height / 15.4
 RptETQ.WindowWidth = Screen.Width / 15
 RptETQ.Action = 1

 
esse é um programa para impressão de etiquetas numa impressora matricial.
 
Ewerton Moreira.
TÓPICO EDITADO
 
Jkarlosra
Pontos: 2843
MACEIO
AL - BRASIL
ENUNCIADA !
Postada em 28/09/2010 17:04 hs            
Ta usando qual versao do crystal report? quando vc salva registros no banco, vc ta commitando antes de visualizar os registros no relatorios. acabei de fazer um relatorio sem alterar nas opcoes do crystal e so colocar as opçoes que cite anteriormente.
no desing do crystal sempre clica no icone amarelo raio.
TÓPICO EDITADO
 
Titon
RIO DE JANEIRO
RJ - BRASIL
ENUNCIADA !
Postada em 29/09/2010 11:06 hs         
eu to usando a versão 8.5 do CR e o VB6. Mas o q acontece é q eu ja tentei fazer outro relatório e não deu em nada, o CR continua não atualizando e como vc pode ver o meu código está certo, só q qndo eu coloco um breakpoint não sei porque ele atualiza. O pior é q eu to com um montão de produtos aki precisando de etiqueta para ser colocado a venda mas por causa disso ta tudo parado aki.
 
Ewerton Moreira.
   
Jkarlosra
Pontos: 2843
MACEIO
AL - BRASIL
ENUNCIADA !
Postada em 29/09/2010 12:06 hs            
Muito estranho. tbm faço nessas versoes e nao tenho problemas nao.
vc colocou um breakpoint? nao entendi. coloca tem codigo do botão imprimir para ver.
vc ta usando dao ou ado. eu uso ado, assim

dimCn    As New ADODB.Connection
Cn.ConnectionString = "Provider= Microsoft.Jet.OLEDB.4.0; Data Source= " & App.Path & "anco.mdb" & ";  Persist Security Info=False"
Cn.CursorLocation = adUseClient
Cn.Open

dim RegTabela as new.recodset
set regtabela= cn.execute("select * from tabela where condicao")

ao gravar


cn.execute("insert into (campos,....) to values( valor1, .... )")

e no final
regtabela.requery

e depois chamo o relatorio com os parametros que cite no començo.,
isso é tudo. sem mexer as configruações do crystal

teu banco ta em que? oracle, sql, access?, ja fiz em acesse e  todas as versoes do sql server.




   
Página(s): 2/3     « ANTERIOR    PRÓXIMA »


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