Bom dia Mestres.
Gostaria de melhorar meu BD enxugando o código.
Tenho uma tabela (tb_Abonadas) que possui 6 campos para datas assim nomeados: 1ABON, 2ABON, 3ABON, 4ABON, 5ABON, 6ABON.
Tenho um form que cria um relatório e salva essa falta abonada nesta tabela.
Porém, não são em meses fixos, pode ser em qualquer um, então o programa precisa procurar onde está gravada a última e grava no próximo campo, exemplo:
1ABON = 13/08/2015
2ABON = vazio
3ABON = vazio
4ABON = vazio
5ABON = vazio
6ABON = vazio
Ao criar o relatório para a falta no dia 15/09/2015 ele deve percorrer a tabela e gravar no campo 2ABON que é o próximo vazio.
Hoje, uso um código muito grande para isso e gostaria de encurtá-lo. Segue:
Espero ter sido claro para que possam me ajudar, apesar de dar uma enrolada no texto.
Grato desde já.
Abrasss!!!
Gostaria de melhorar meu BD enxugando o código.
Tenho uma tabela (tb_Abonadas) que possui 6 campos para datas assim nomeados: 1ABON, 2ABON, 3ABON, 4ABON, 5ABON, 6ABON.
Tenho um form que cria um relatório e salva essa falta abonada nesta tabela.
Porém, não são em meses fixos, pode ser em qualquer um, então o programa precisa procurar onde está gravada a última e grava no próximo campo, exemplo:
1ABON = 13/08/2015
2ABON = vazio
3ABON = vazio
4ABON = vazio
5ABON = vazio
6ABON = vazio
Ao criar o relatório para a falta no dia 15/09/2015 ele deve percorrer a tabela e gravar no campo 2ABON que é o próximo vazio.
Hoje, uso um código muito grande para isso e gostaria de encurtá-lo. Segue:
- Código:
If IsNull(rs("1ABON")) And IsNull(rs("2ABON")) And IsNull(rs("3ABON")) And IsNull(rs("4ABON")) _
And IsNull(rs("5ABON")) And IsNull(rs("6ABON")) Then
rs.Edit
rs("1ABON") = Form_Abonada.txtDataFalta.Value
Form_Funcionários.txt1ABON.Value = rs("1ABON")
Me!txtDATA.Value = rs("1ABON")
Me!txtData2.Value = rs("1ABON")
rs.Update
Exit Sub
End If
If IsNull(rs("2ABON")) And IsNull(rs("3ABON")) And IsNull(rs("4ABON")) _
And IsNull(rs("5ABON")) And IsNull(rs("6ABON")) Then
rs.Edit
rs("2ABON") = Form_Abonada.txtDataFalta.Value
Form_Funcionários.txt2ABON.Value = rs("2ABON")
Me!txtDATA.Value = rs("2ABON")
Me!txtData2.Value = rs("2ABON")
rs.Update
Exit Sub
End If
If IsNull(rs("3ABON")) And IsNull(rs("4ABON")) And IsNull(rs("5ABON")) _
And IsNull(rs("6ABON")) Then
rs.Edit
rs("3ABON") = Form_Abonada.txtDataFalta.Value
Form_Funcionários.txt3ABON.Value = rs("3ABON")
Me!txtDATA.Value = rs("3ABON")
Me!txtData2.Value = rs("3ABON")
rs.Update
Exit Sub
End If
If IsNull(rs("4ABON")) And IsNull(rs("5ABON")) And IsNull(rs("6ABON")) Then
rs.Edit
rs("4ABON") = Form_Abonada.txtDataFalta.Value
Form_Funcionários.txt4ABON.Value = rs("4ABON")
Me!txtDATA.Value = rs("4ABON")
Me!txtData2.Value = rs("4ABON")
rs.Update
Exit Sub
End If
If IsNull(rs("5ABON")) And IsNull(rs("6ABON")) Then
rs.Edit
rs("5ABON") = Form_Abonada.txtDataFalta.Value
Form_Funcionários.txt5ABON.Value = rs("5ABON")
Me!txtDATA.Value = rs("5ABON")
Me!txtData2.Value = rs("5ABON")
rs.Update
Exit Sub
End If
If IsNull(rs("6ABON")) Then
rs.Edit
rs("6ABON") = Form_Abonada.txtDataFalta.Value
Form_Funcionários.txt6ABON.Value = rs("6ABON")
Me!txtDATA.Value = rs("6ABON")
Me!txtData2.Value = rs("6ABON")
rs.Update
Exit Sub
End If
Espero ter sido claro para que possam me ajudar, apesar de dar uma enrolada no texto.
Grato desde já.
Abrasss!!!