Boa tarde a todos,
Mais uma vez venho pedir socorro e desde já agradeço muito a ajuda de vcs.
Estou adaptando uma emissão de fatura automática no sistema que utilizamos aqui na empresa.
Precisamos, que ao gerar a fatura ele puxe de uma outra tabela as informações referente a descrição dos serviços.
Limitei a quatro serviços por fatura e para isso em meu formulário de emissão de fatura eu criei os campos: [OC1], [OC2], [OC3], [OC4], onde será informado a ordem de compra de cada serviço contratado.
Antes de gerar a fatura, preenchemos os campos [OC1], [OC2], [OC3], [OC4], com os números das ordem de compras, que servirá de base para o preenchimentos automático do campo [newDescServ] em minha fatura.
Bem... Para preencher o meu campo [newDescServ] em minha fatura, usei o seguinte:
newDescServ = "PRESTAÇÃO DE SERVIÇO, CONFORME ORDEM DE COMPRA(S):" & vbNewLine & _
IIf(IsNull(Me.OC1), Empty, Format$(Me.OC1, "00000") & ": " & DLookup("[Descricao]", "Servico", "[Codigo]=" & OC1)) & vbNewLine & _
IIf(IsNull(Me.OC2), Empty, Format$(Me.OC2, "00000") & ": " & DLookup("[Descricao]", "Servico", "[Codigo]=" & OC2)) & vbNewLine & _
IIf(IsNull(Me.OC3), Empty, Format$(Me.OC3, "00000") & ": " & DLookup("[Descricao]", "Servico", "[Codigo]=" & OC3)) & vbNewLine & _
IIf(IsNull(Me.OC4), Empty, Format$(Me.OC4, "00000") & ": " & DLookup("[Descricao]", "Servico", "[Codigo]=" & OC4))
Se os campos [OC1], [OC2], [OC3], [OC4], estiverem preenchidos o sistema gera a fatura perfeitamente.
O problema é que nem sempre todos os campos serão preenchidos... já que a fatura pode conter apenas um ordem de compra... e se o campo estiver em branco, ele me apresenta o seguinte erro:
Erro em tempo de execução ‘3075’
Erro de sintaxe (operador faltando) na expressão de consulta ‘[Codigo]=’
Se a expressão diz que é para procurar descrição apenas se o campo [OC1] não for nulo, ele não deveria nem procurar o [Codigo] neste caso.
Desde já agradeço a ajuda para solucionar esta dúvida.
Grato,
Bruno Nogueira
Mais uma vez venho pedir socorro e desde já agradeço muito a ajuda de vcs.
Estou adaptando uma emissão de fatura automática no sistema que utilizamos aqui na empresa.
Precisamos, que ao gerar a fatura ele puxe de uma outra tabela as informações referente a descrição dos serviços.
Limitei a quatro serviços por fatura e para isso em meu formulário de emissão de fatura eu criei os campos: [OC1], [OC2], [OC3], [OC4], onde será informado a ordem de compra de cada serviço contratado.
Antes de gerar a fatura, preenchemos os campos [OC1], [OC2], [OC3], [OC4], com os números das ordem de compras, que servirá de base para o preenchimentos automático do campo [newDescServ] em minha fatura.
Bem... Para preencher o meu campo [newDescServ] em minha fatura, usei o seguinte:
newDescServ = "PRESTAÇÃO DE SERVIÇO, CONFORME ORDEM DE COMPRA(S):" & vbNewLine & _
IIf(IsNull(Me.OC1), Empty, Format$(Me.OC1, "00000") & ": " & DLookup("[Descricao]", "Servico", "[Codigo]=" & OC1)) & vbNewLine & _
IIf(IsNull(Me.OC2), Empty, Format$(Me.OC2, "00000") & ": " & DLookup("[Descricao]", "Servico", "[Codigo]=" & OC2)) & vbNewLine & _
IIf(IsNull(Me.OC3), Empty, Format$(Me.OC3, "00000") & ": " & DLookup("[Descricao]", "Servico", "[Codigo]=" & OC3)) & vbNewLine & _
IIf(IsNull(Me.OC4), Empty, Format$(Me.OC4, "00000") & ": " & DLookup("[Descricao]", "Servico", "[Codigo]=" & OC4))
Se os campos [OC1], [OC2], [OC3], [OC4], estiverem preenchidos o sistema gera a fatura perfeitamente.
O problema é que nem sempre todos os campos serão preenchidos... já que a fatura pode conter apenas um ordem de compra... e se o campo estiver em branco, ele me apresenta o seguinte erro:
Erro em tempo de execução ‘3075’
Erro de sintaxe (operador faltando) na expressão de consulta ‘[Codigo]=’
Se a expressão diz que é para procurar descrição apenas se o campo [OC1] não for nulo, ele não deveria nem procurar o [Codigo] neste caso.
Desde já agradeço a ajuda para solucionar esta dúvida.
Grato,
Bruno Nogueira