Olá! Estou tendo problema com Crystal 8 + VB6 + MDB + Win7 64. O problema é que não encontro o driver odbc para MDB para esse SO. Logo, estou mudando os meus arquivo RPTs para não utilizarem ODBC, mas DAO diretamente ligados ao MDB. Depois que fiz as modificações, o relatório funciona, mas não aceita mais a instrução SQL que o VB envia. Eu faço a chamada desta maneira (e funciona com ODBC). Rpt.LogOnServer "p2sodbc.dll", "DB_NAME", "DB_NAME", "", ""
Rpt.WindowTitle = "Report"
Rpt.WindowState = crptMaximized
Rpt.SQLQuery = "SELECT CLIENT.ID, CLIENT.NAME FROM CLIENT WHERE CLIENT.ID > 1 AND CLIENT.ID < 10 ORDER BY CLIENT.NAME DESC"
Rpt.Action = 1
Substituí a linha com Rpt.LogOnServer para Rpt.DataFiles(0) = "DB_FILE.MDB"
O Vb chama o report sem erro, mas ele não respeita mais a clausula WHERE e ORDER BY do SQL.
Parece que está ignorando a propriedade SQLQuery.
Se eu usar
Rpt.SelectionFormula = "{CLIENT.ID} > 1 AND {CLIENT.ID} > 10"
em vez do SQLQuery, o filtro funciona, mas ainda não descobri como fazer a ordenação.
Eu já tentei:
Rpt.SortFields(0) = "-{CLIENT.NAME}" e com GroupSortFields também. Alguém pode me ajudar?