MSFLEXGRID SERA QUE ALGUEM ME PODE AJUDAR?
Olá pessoal estou na mesma encruzilhada em que me encontrava alguns dias atrás, quando coloquei esta pergunta no forum aos utilizadores; e á qual algumas almas generosas me tentaram ajudar, mas nao consegui safar-me , talvez agora exponha o meu problema com os devidos detalhes,tenho uma base de dados de nome: Faltas.mdb com a chave primária no campo" Chave" (onde ele insere o campo "Data" e "Nome" ex: Chave = Date() & "-" & Nome) e tenho a Data1 ligado á tabela MSflexrid1 , eu tenho uma tabela com seis colunas : são elas : [Data,Numcol,Nome,Horas,Faltas,Chave]. Os campos definidos são : Data (Date);Numcol(numéric);Nome(Text);Horas(numeric);Faltas (numéric) ; Chave(Text); e queria que no final ao carregar no botao total que se encontra no form ele me indica-se o total de Horas feitas e me asinala-se com uma barra a vermelho ao longo de todos os campos na Msflexgrid todos os dias que o colaborador Faltou, será que você me pode ajudar?
obrigado desde já pela sua atenção.
obrigado desde já pela sua atenção.
Olá,
Para destacar linhas e coluna no msflexgrid use grid1.CellBackColor = vbRed
Para destacar linhas e coluna no msflexgrid use grid1.CellBackColor = vbRed
E como eu faço para detectar na coluna [ faltas] quando o Valor for igual a 1 me assinale a vermelho todos os campos correspondentes a essas faltas ?
Vamos ver se eu entendi...para "detectar" na coluna e assinalar em vermelho faça assim:
EXEMPLO:
Para chamar a rotina, marcando todas as celulas da coluna 3 com a cor VERMELHA, caso possua o valor "1" em alguma das células desta coluna:
Estou a disposicao!
Valeu!
Sub MarcarValores(flxFlexGrid As MSFlexGrid, Coluna As Long, Valor As String, Cor As ColorConstants)
Dim r As Long
For r = 0 To flxFlexGrid.Rows - 1
If flxFlexGrid.TextMatrix(r, Coluna) = Valor Then
flxFlexGrid.Row = r
flxFlexGrid.Col = Coluna
flxFlexGrid.CellBackColor = Cor
End If
Next r
End Sub EXEMPLO:
Para chamar a rotina, marcando todas as celulas da coluna 3 com a cor VERMELHA, caso possua o valor "1" em alguma das células desta coluna:
Private Sub Command1_Click()
MarcarValores flxMeuFlex, 3, "1", vbRed
End Sub Estou a disposicao!
Valeu!
vou exprimentar, desde já agradeço a colaboração direi + tarde alguma coisa.
olá natocaio , de facto o código exposto por voce está um beleza! 5 estrelas, mas tenho outro problema como fazer a mesma rotina para somar valores( positivos e negativos) numa determinada coluna ?
tentei adaptar mas o que me envias-te mas não deu.
Quero agradecer desde já a todos os que tem colaborado.
tentei adaptar mas o que me envias-te mas não deu.
Quero agradecer desde já a todos os que tem colaborado.
Para somar as colunas do grid no mesmo LOOP que o natocaio postou vc pode adicionar o comando abaixo:
VALOR = VALOR + VAL(flxFlexGrid.textmatrix(r,coluna))
Não se esquecendo de declarar a variavel VALOR de acordo com a sua necessidade antes do FOR
Assim ao final do LOOp o campo valor tera a soma de todos os valores da linha (r) e da coluna especificada (coluna).. OK!
QQ Coisa me mande uma MSG Interna!!!
VALOR = VALOR + VAL(flxFlexGrid.textmatrix(r,coluna))
Não se esquecendo de declarar a variavel VALOR de acordo com a sua necessidade antes do FOR
Assim ao final do LOOp o campo valor tera a soma de todos os valores da linha (r) e da coluna especificada (coluna).. OK!
QQ Coisa me mande uma MSG Interna!!!
A todos os que parteciparam neste meu problema , aqui vai o meu obrigado.[S96]
Tópico encerrado , respostas não são mais permitidas