|
Postada em 13/08/2008 15:23 hs
Bem amigos do VBWEB estou com um probleminha no meu sistema de video locadora não estou conseguindo criar uma rotina para onde tenho duas tabelas relacionadas com os índices cod_atendimento na tabela ATENDIMENTO e Cod_atendimento na tabela Atendimento_itens onde na tabela ATENDIMENTO_ITENS tenho uma flag do tipo Locado
Mais não estou conseguindo fazer o sistema mim dar uma mensagem quando criar um novo atendimento, começar a lançar os itens do atendimento se colocar o produto por exemplo: DVD1 uma vez da segunda vez que tentar colocar o mesmo DVD1 no mesmo Atendimento ele mim der uma mensagem dizendo que o DVD já pertence a locação....
Faz tempo que nao desenvolvo no VB to um pouco travado, nao mim recordo de como faz esse procedimento. Ai está código que estou usando para tentar verificar a se existe o filme na tabela.
Agradeço desde já a ajuda de vocês.
Valeu....
Código para chamar a validação do filme na tabela detalhes Case 2 If PTab(Atendimento_detalhes, "Cod atendimento1", vgTb!Locado = True) Then MsgBox "Filme já faz parte dessa devolução", vbInformation, App.Title ElseIf PTab(Atendimento_detalhes, "Cod atendimento1", vgTb!Locado <> True) Then mdiSISTEMA.SalvaDados End If
Função Ptab Verifica um registro dentro um tabela Public Function PTab(vgRs As Object, vgIndice As String, ParamArray vgChaves() As Variant) As Integer Dim vgQtCh As Integer, vgNInd As String, vgInd As Index, x As String, vgCh As String, _ j As Integer, vgCps() As Variant, k As String On Error Resume Next vgQtCh = UBound(vgChaves) + 1 vgNInd$ = vgIndice$ j = InStr(vgIndice$, ".") If j > 0 Then vgNInd$ = Mid$(vgIndice$, j + 1) End If PegaCamposIndice vgNInd$, vgCps() vgCh$ = "" For j = 0 To UBound(vgCps) Select Case PegaAtributo(CStr(vgCps(j)), 2) Case "C", "M" k$ = "'" + vgChaves(j) + "'" Case "D" If IsNull(vgChaves(j)) Then k$ = "Null" Else k$ = "'" + Format$(CDate(vgChaves(j)), "yyyy/mm/dd hh:mm:ss") + "'" End If Case "L" k$ = CStr(vgChaves(j)) Case Else k$ = CStr(vgChaves(j)) k$ = Substitui$(k$, ",", ".", SO_UM) End Select If Len(vgCh$) > 0 Then vgCh$ = vgCh$ + " And " vgCh$ = vgCh$ + PoeColchetes$(CStr(vgCps(j))) + " = " + k$ If j >= vgQtCh - 1 Then Exit For Next If Len(vgCh$) > 0 And Err = 0 Then x$ = InsereSQL$(vgRs.Source, EXP_WHERE, vgCh$) x$ = Retira$(x$, "TOP 1 ", SO_UM) On Error GoTo 0 RsOpen vgRs, x$ PTab = (vgRs.EOF = False) Else PTab = False Exit Function End If If Err Then Err.Clear vgRs.MoveMax If Not vgRs.EOF Then vgRs.MoveNext If Err Then Err.Clear End If End Function
InforCENTER Sistemas & Soluções.
Várzea Alegre - Ce
E-Mail = Inforcentercomputadores@yahoo.com.br
|
TÓPICO EDITADO
|
|
|
|