AJUDA AI QUE ESSA PRA MIM E BRABA VB6 CR 8.5

ROBINHO34 02/03/2010 18:07:53
#335815

Vou tentar ser mais explicito possivel galera

Tenho meu Banco rodando minha Tabela normal os dados sendo cadastrados tudo numa boa

So que na minha empresa adotou 3 criterios para entraga de casas proprias, para beneficiar quem ganha menos.

1 - Renda menor (ESSE TEM VEZ NA FILA PARA ENTREGA DA CASA)
2 - Renda media (ESSE EO PROXIMO DA VEZ PARA ENTREGA DA CASA)
3 - Renda alta (ESSE EO QUE SE SEGUE PARA ENTREGA DA CASA)

a esses itens numericos eu dei o nome no CAMPO da TABELA de PRIORIDADE 1,2,3 etc...

ou seja se e o n° 1 tem prioridade sobre os demais ate ai tava facil (SO QUE NÃO VAI SER BEM ASSIM )


Decidiram que independente de onde estiver na tabela o item de prioridade 1 ele sera o primeiro, ( 2 o segundo), (3 o terceiro) dai comeca tudo de novo 1, 2, 3 e assim por diante se não tiver o item 1 será 2 e 3 se mais tarde aparaecer prioridade 1 ele volta a ser o primeiro, lembrando que quem ja pegou casa sera excluido do banco, nossa isso ta me deixando maluco

eu criei 1 index ( PRIORIDADE ) na tabela
Gostaria que o Crystal mostrar os criterios em varios grupos com 3 itens independente da posicao em que se encontra a (PRIORIDADE) ex: 1,1,1,3,2,1,3,3,2,1,3,2,2,3,3
ficara sempre como abaixo...

1 - Renda menor
2 - Renda media
3 - Renda alta

1 - Renda menor
2 - Renda media
3 - Renda alta

Exemplo de situacao com 2 itens tipo acabou a PRIORIDADE 3 entao lista 1 e 2

1 - Renda menor
2 - Renda media

Exemplo de situacao com 2 itens tipo acabou a PRIORIDADE 1 entao lista 2 e 3

2 - Renda media
3 - Renda alta
e assim vai conto com vocês pra matar esse LEAO ....... vlw
MICROSCHEME 02/03/2010 18:41:00
#335817

Mano véio.

Eu não trabalho com crystal, mas sei, e quem trabalha com ele, pode dizer se estou certo ou errado.

Pelo que sei, o crystal tem uma seção onde se pode colocar fórmulas, dai, tu pode montar tua sql pra ele indexar a tabela pelo campo Prioridade, tipo
strSqlPrioridade = [Ô]Select * from Tabela order by Prioridade[Ô].

Mas pelo visto ( pelo que pude entender ) se existe uma prioridade deveria listar primeiro todas as prioridades 1 - Renda menor,
depois todas as prioridades 2 - Renda Média e por fim todas as prioridades 3 - Renda Alta, pois se vai imprimir 1 - 2 - 3 e depois
volta 1 - 2 - 3 e novamente 1 - 2 - 3 não justifica saber se a renda é baixa, média ou alta.

O que poderia ser é prioridade 1 - Renda até R$ X, prioridade 2 - Renda de R$ X até R$ Y e prioridade 3 - Renda de R$ Y até R$ Z.

Mesmo assim estaria indexando os intervalos 1 2 e 3. Todos da prioridade 1, depois todos da prioridade 2 e por fim todos da prioridade 3.

Dá no mesmo, pois não justifica uma prioridade 2 furando a fila sem ter terminado a prioridade 1 e uma prioridade 3 furando a fila sem ter
terminado as prioridades 1 e 2.

Estando indexado a fila será justa do começo ao fim.

. . .

MICROSCHEME 02/03/2010 18:43:33
#335819

Desculpa não ter terminado.

O único critério a meu ver que pode furar uma fila com críterios de renda, é o sorteio

. . .
ROBINHO34 02/03/2010 20:08:54
#335831
Citação:

:

Desculpa não ter terminado.

O único critério a meu ver que pode furar uma fila com críterios de renda, é o sorteio

. . .



Ola amigao MICROSCHEME

Antigamente era mesmo assim quem tinha prioridade 1 pegava logo a casa (LEMBRANDO QUE EU JA AMARREI O R$ DA RENDA AO NUMERO DA PRIORIDADE)

So que pessoas (DESONESTAS CLARO) Cadatravam como renda baixa so pra pegar logo a casa dai foi estipulado que:

Sera o primeiro quem tem renda Baixa logo aseguir Media e depois renda Alta nao tudo de 1 vez tipo 1111112222233333, sera 1 depois 2 depois 3 dai o proximo de renda baixa1media 2 e alta 3 . Porque senao quem tinha renda alta nao pegaria casa nem tao cedo se fizer o select claro que ele vai colocar 1111112222233333 e depois como o relatorio vai tratar isso seprando 123 123 123 ou se nao tem o (1) COLOCAR 2,3

Olha isso como a tabela

PRIORIDADE | NOME | RENDA (Renda ja aesta amarrada a prioridade) SO PRA LEMBRAR
1 RONALDO LIMA R$ 250,00
3 SERGIO DA SILVA R$ 2000,00
2 PAOLA DUARTE R$ 1000,00
2 ROBSON BATISTA R$ 1000,00
1 MARCELO OLIVEIRA R$ 250,00
3 AMELIA PEREIRA R$ 2000,00

NO RELATORIO GOSTARIA DE FICAR ASSIM

PRIORIDADE | NOME | RENDA
1 RONALDO LIMA R$ 250,00
2 PAOLA DUARTE R$ 1000,00
3 SERGIO DA SILVA R$ 2000,00
1 MARCELO OLIVEIRA R$ 250,00
2 ROBSON BATISTA R$ 1000,00
3 AMELIA PEREIRA R$ 2000,00

TA BRABO ME AJUDA AI
MICROSCHEME 02/03/2010 22:52:29
#335854

Tá.

Blz . . .

Vamo pensá junto intão.

Nesse caso eu faria o seguinte.

Um recordset filtrado com as prioridades 1, tipo order by renda
Um recordset filtrado com as prioridades 2, idem
um recordset tiltrado com as prioridades 3, idem

Uma nova tabela

Um loop nos recordsets, avançando do primeiro ao último registro de cada e adicionando na nova tabela.

um registro do recordset com as prioridades 1
um registro do recordset com as prioridades 2
um registro do recordset com as prioridades 3

primeiro com os três recordsets, caso o primeiro acabe, continua com o segundo e assim por diante ou vice e versa

Ficaria uma nova tabela com a sequência que tu precisa e ai é só imprimir.

Possivelmente essa seja a solução mais rápida para o teu problema.

Você não pode esquecer que em cada prioridade, devem existir maiores e menores valores, deve levar em consideração
que mesmo dentro de uma prioridade uma renda menor deve ou deveira ter prioridade em relação a uma renda maior, tipo

prioridade 1 - renda de 1.000,00 deve ter prioridade em relação a uma mesma prioridade 1 - renda de 1.500,00

Acredito que seja isso

Tenta e retorna

Blz . . .

ROBINHO34 02/03/2010 23:40:52
#335860
Citação:

:

Tá.

Blz . . .

Vamo pensá junto intão.

Nesse caso eu faria o seguinte.

Um recordset filtrado com as prioridades 1, tipo order by renda
Um recordset filtrado com as prioridades 2, idem
um recordset tiltrado com as prioridades 3, idem

Uma nova tabela

Um loop nos recordsets, avançando do primeiro ao último registro de cada e adicionando na nova tabela.

um registro do recordset com as prioridades 1
um registro do recordset com as prioridades 2
um registro do recordset com as prioridades 3

primeiro com os três recordsets, caso o primeiro acabe, continua com o segundo e assim por diante ou vice e versa

Ficaria uma nova tabela com a sequência que tu precisa e ai é só imprimir.

Possivelmente essa seja a solução mais rápida para o teu problema.

Você não pode esquecer que em cada prioridade, devem existir maiores e menores valores, deve levar em consideração
que mesmo dentro de uma prioridade uma renda menor deve ou deveira ter prioridade em relação a uma renda maior, tipo

prioridade 1 - renda de 1.000,00 deve ter prioridade em relação a uma mesma prioridade 1 - renda de 1.500,00

Acredito que seja isso

Tenta e retorna

Blz . . .



E amigao eu realmente pensei nisso na criacao de 1 nova tabela e colocar item por item vindo dos 3 recordsets dai mandar o CR imprimir

dai que entra a duvida:

1 - Quanto a Faixa de renda fica tranquilo isso a empresa ja estipulou Baixa (Salario minimo ate 999,00) (Media 1000,00 a 1999,00) (Alta acima de 2000,00) isso ja esta amarradinho.

2 - Quanto a criacao de uma nova tabela ficaria perfeita, so que essa tabela apos o CR imprimir eu vo ter que ZERAR ela nao seria isso ? ou seja deletar todos os dados para uma nova adicao e impressao do CR, esse banco vai rodar em REDE isso nao ia gerar muito trafego ?

3 - O CR nao tem de jeito nenhum essa funcao por FORMULA, por AGRUPAMENTO, sera que ng nunca penssou que um dia poderia ter um relatorio assim ?

4 - Não querendo ser abusado vc teria um exemplo ai com vc de LISTCOUNT com tabelas abertas por instrucao SQL vo precisar disso com certeza.

vo entar e postar vlw
Grato


MICROSCHEME 03/03/2010 16:18:40
#335945

Tô meio enferrujado, mas vou ver ser consigo uma forma de tu poder imprimir esse relatorio através de um recordset que
junte as informaçoes que precisa e imprimir com printer.print.
Quanto a nova tabela, quando acabar de imprimir, tu zera ela.

. . .

MICROSCHEME 03/03/2010 17:33:05
#335955

Cara.

Tenta implementar da seguinte forma:

Crie os 3 recordsets do jeito que tentei te passar:

Um recordset filtrado com as prioridades 1 com order by renda
Um recordset filtrado com as prioridades 2 com order by renda
um recordset tiltrado com as prioridades 3 com order by renda

cria 3 variaveis boleanas com valor true

boleana1 para o recordset 1
boleana2 para o recordset 2
boleana3 para o recordset 3

e tenta fazer um while desse jeito ( não estou conectado ao vb mas voce vai entender )

recordset1.findfirst
recordset2.findfirst
recorsdet3.findfirst

While boleana1 = true or boleana2 = true or boleada3 = true

if not recodset1.eof
printer.print . . . [ô] a impressão do registo
recordset1.movenext
else
boleana1 = false
endif

if not recodset2.eof
printer.print . . . [ô] a impressão do registo
recordset2.movenext
else
boleana2 = false
endif

if not recodset3.eof
printer.print . . . [ô] a impressão do registo
recordset3.movenext
else
boleana3 = false
endif

wend

Printer.Enddoc.

Enquanto uma boleana for verdadeira vai varrer os recodsets e imprimir um de cada e quando as e boleanas forem falsas termina a impressão

Deve funcionar

. . .



MICROSCHEME 03/03/2010 17:35:38
#335957
Isso pelo printer.print sem utilizar o crystal, pois como disse só trabalho com printer.print e não manjo de crystal

Blz . . .
Tópico encerrado , respostas não são mais permitidas