Prezados, boa tarde.
Depois de implementar algumas soluções indicadas em outros tópicos e não conseguir obter êxito na aplicação, recorro a vocês a fim de solucionar esse problema, o qual busco correção há alguns dias.
Tenho um formulário chamado (frm_cadastro_disciplinas) com os seguintes campos principais (nome_disciplina) - tipo texto e (ch_disciplina) - tipo inteiro
Considero uma disciplina já cadastrada no sistema se ela tiver o mesmo nome e a mesma carga horária. E é essa verificação que preciso fazer na tabela que armazena tais valores.
Estrutura da tabela (tbl_disciplinas)
cod_disciplina
nome_disciplina
ch_disciplina
Já utilizei as funções Dcount() e DLoookup() para verificar a ocorrência dos valores no banco, mas sem sucesso (ou não identifica os nomes digitados como iguais ou apresenta erro de tipos incompatíveis.)
If (Not IsNull(DLookup("[nome_disciplina]", "tbl_disciplinas", "[nome_disciplina] =' " & Me.nome_disciplina & "'" And "[ch_disciplina]" = Me.ch_disciplina))) Then
MsgBox "Disciplina " & Me.nome_disciplina & " já cadastrada"
nome_disciplina.SetFocus
Me!nome_disciplina.Undo 'desfaz a digitação
Else
DoCmd.RunCommand acCmdSaveRecord
OBS.: Outro detalhe é que mesmo apresentando erro de tipos incompatíveis erro 13, o registro é gravado do banco.
Desde já agradeço a ajuda
Depois de implementar algumas soluções indicadas em outros tópicos e não conseguir obter êxito na aplicação, recorro a vocês a fim de solucionar esse problema, o qual busco correção há alguns dias.
Tenho um formulário chamado (frm_cadastro_disciplinas) com os seguintes campos principais (nome_disciplina) - tipo texto e (ch_disciplina) - tipo inteiro
Considero uma disciplina já cadastrada no sistema se ela tiver o mesmo nome e a mesma carga horária. E é essa verificação que preciso fazer na tabela que armazena tais valores.
Estrutura da tabela (tbl_disciplinas)
cod_disciplina
nome_disciplina
ch_disciplina
Já utilizei as funções Dcount() e DLoookup() para verificar a ocorrência dos valores no banco, mas sem sucesso (ou não identifica os nomes digitados como iguais ou apresenta erro de tipos incompatíveis.)
If (Not IsNull(DLookup("[nome_disciplina]", "tbl_disciplinas", "[nome_disciplina] =' " & Me.nome_disciplina & "'" And "[ch_disciplina]" = Me.ch_disciplina))) Then
MsgBox "Disciplina " & Me.nome_disciplina & " já cadastrada"
nome_disciplina.SetFocus
Me!nome_disciplina.Undo 'desfaz a digitação
Else
DoCmd.RunCommand acCmdSaveRecord
OBS.: Outro detalhe é que mesmo apresentando erro de tipos incompatíveis erro 13, o registro é gravado do banco.
Desde já agradeço a ajuda