Boas. Vinha pedir a vossa ajuda para um problema com que me deparei no código do meu programa.
Basicamente é assim, tenho uma tabela de nome 'Alarmes' que tem 9 campos (F1,F2,F3,F4,F5,F6,F7,Departamento,Observacoes).
A tabela tem 40 linhas com os campos ((F1,F2,F3,F4,F5,F6,F7) preenchidos com determinados valores. O que quero fazer é percorrer linha a linha, encontrar determinadas palavras nos campos (F1,F2,F3,F4,F5,F6,F7) e de acordo com isso preencher o campo Departamento e Observacoes.
Ir percorrendo toda a tabela linha por linha e identificando determinadas strings não tenho qualquer problema. A dificuldade com que me deparei foi na actualização do campo Departamento e observacoes.
O código que estou a usar é o seguinte:
######
Set rst = CurrentDb.OpenRecordset("Alarmes") 'Nome da tabela
If rst.RecordCount = 0 Then
MsgBox "Não há registos na Tabela"
Exit Sub
End If
HoraActual = Hour(Date)
rst.MoveFirst
If InStr(1, rst.Fields("F5"), "DISJUNTOR") <> 0 Then
MsgBox "Escrever no campo Departamento MNSE depende de data" '# está a identificar bem a string no campo F5
CurrentDb.Execute ("UPDATE Alarmes SET Departamento ='MNSE'")
End If
#####
Quando executo o > CurrentDb.Execute ("UPDATE Alarmes SET Departamento ='MNSE'") é me colocado as iniciais MNSE em toda a coluna Departamento, mas eu só queria que me coloca-se nessa coluna, naquela linha.
O que estou a fazer mal?
Obrigado pela ajuda
Cumprs
Basicamente é assim, tenho uma tabela de nome 'Alarmes' que tem 9 campos (F1,F2,F3,F4,F5,F6,F7,Departamento,Observacoes).
A tabela tem 40 linhas com os campos ((F1,F2,F3,F4,F5,F6,F7) preenchidos com determinados valores. O que quero fazer é percorrer linha a linha, encontrar determinadas palavras nos campos (F1,F2,F3,F4,F5,F6,F7) e de acordo com isso preencher o campo Departamento e Observacoes.
Ir percorrendo toda a tabela linha por linha e identificando determinadas strings não tenho qualquer problema. A dificuldade com que me deparei foi na actualização do campo Departamento e observacoes.
O código que estou a usar é o seguinte:
######
Set rst = CurrentDb.OpenRecordset("Alarmes") 'Nome da tabela
If rst.RecordCount = 0 Then
MsgBox "Não há registos na Tabela"
Exit Sub
End If
HoraActual = Hour(Date)
rst.MoveFirst
If InStr(1, rst.Fields("F5"), "DISJUNTOR") <> 0 Then
MsgBox "Escrever no campo Departamento MNSE depende de data" '# está a identificar bem a string no campo F5
CurrentDb.Execute ("UPDATE Alarmes SET Departamento ='MNSE'")
End If
#####
Quando executo o > CurrentDb.Execute ("UPDATE Alarmes SET Departamento ='MNSE'") é me colocado as iniciais MNSE em toda a coluna Departamento, mas eu só queria que me coloca-se nessa coluna, naquela linha.
O que estou a fazer mal?
Obrigado pela ajuda
Cumprs