Ir para conteúdo
Fórum Script Brasil

Gabriel Cabral

Membros
  • Total de itens

    406
  • Registro em

  • Última visita

Tudo que Gabriel Cabral postou

  1. Ae gente.....vo aproveitar esse tópico aqui mesmo pra expor uma outra duvida q surgiu aqui devido a um erro q está dando quando vou deletar um registro o código está assim Private Sub cmdExcluir_Click() If MsgBox("Deseja excluir o registro?", vbQuestion + vbYesNo) = vbYes Then Dim cmd As New ADODB.Command Dim rs As New ADODB.Recordset With cmd .ActiveConnection = Conex .CommandType = adCmdText .CommandText = " select * from FinanWin_ConP " Set rs = .Execute End With With rs .Filter = "ConP_Cod Like '" & txtConP_Cod & "' AND ConP_NomeFantasia Like '" & txtConP_NomeFantasia & "' AND ConP_NumParc Like '" & txtConP_NumParc & "' And ConP_NumDoc Like '" & txtConP_NumDoc & "' And ConP_Venc Like '" & txtConP_Venc & "' And ConP_DataEmissao Like '" & txtConP_DataEmissao & "' And ConP_Valor Like '" & txtConP_Valor & "' And ConP_Obs Like '" & txtConP_Obs & "' And ConP_Boleto Like '" & txtConP_Boleto & "'" End With With cmd .ActiveConnection = Conex .CommandType = adCmdText .CommandText = "DELETE FROM FinanWin_ConP WHERE ConP_Cod Like '" & txtConP_Cod & "' AND ConP_NomeFantasia Like '" & txtConP_NomeFantasia & "' AND ConP_NumParc Like '" & txtConP_NumParc & "' And ConP_NumDoc Like '" & txtConP_NumDoc & "' And ConP_Venc Like '" & txtConP_Venc & "' And ConP_DataEmissao Like '" & txtConP_DataEmissao & "' And ConP_Valor Like '" & txtConP_Valor & "' And ConP_Obs Like '" & txtConP_Obs & "' And ConP_Boleto Like '" & txtConP_Boleto & "'" .Execute End With txtConP_Cod.Text = "" txtConP_NomeFantasia.Text = "" txtConP_NumParc.Text = "" txtConP_NumDoc.Text = "" txtConP_DataEmissao.Text = "" txtConP_Venc.Text = "" txtConP_Valor.Text = "" txtConP_Obs.Text = "" txtConP_Boleto.Text = "" End If txtConP_Cod.SetFocus rs.Close Set rs = Nothing End Sub A caixa de mensagem aparece, mas quando eu clico em SIM, dá o seguinte erro: Run-time error '3709': The connection cannot be used to perform this operation. It is either closed or invalid in this context. Nesta linha: Set rs = .Execute
  2. Ae....deletei os controles vinculados....agora ta perfeito.. Duduh, Macêdo, kuroi... muitíssimo obrigado..... muito mesmo... vocês foram importantíssimos neste meu mais novo aprendizado qualquer dúvida to postando ae Muito obrigado mais uma vez... Abraço
  3. também axo q seria impossivel ele mostrar que o registro existe e ainda gravar, devido ao If.. Quanto ao código...está assim.... Tem um botao "Incluir" que habilita as textbox e possui o seguinte no evento Click DadosConP.Recodset.AddNew Aí as textbox são preenchidas e depois disso clica-se no botao "Gravar", que possui o seguinte no evento click Private Sub cmdGravar_Click() Set Conex = New ADODB.Connection Conex.Open StringDeConexao Dim StringSQL As String StringSQL = "SELECT * FROM FinanWin_ConP WHERE ConP_Cod Like '" & txtConP_Cod & "' AND ConP_NumParc Like '" & txtConP_NumParc & "' And ConP_NumDoc Like '" & txtConP_NumDoc & "' And ConP_Venc Like '" & txtConP_Venc & "'" Set rs = New ADODB.Recordset rs.Open StringSQL, Conex If rs.EOF Then MsgBox "Registro não existe" StringSQL = "INSERT INTO FinanWin_ConP " & _ "(ConP_Cod, ConP_NomeFantasia, ConP_NumParc, ConP_NumDoc, ConP_Venc, " & _ "ConP_DataEmissao, ConP_Valor, ConP_Obs, ConP_Boleto) VALUES ('" & _ txtConP_Cod.Text & ",'" & _ txtConP_NomeFantasia.Text & ",'" & _ txtConP_NumParc.Text & "','" & _ txtConP_NumDoc.Text & "','" & _ txtConP_Venc.Text & "','" & _ txtConP_DataEmissao.Text & "','" & _ txtConP_Valor.Text & "','" & _ txtConP_Obs.Text & "','" & _ txtConP_Boleto.Text & "');" Else MsgBox "Registro existe" End If Set rs = Nothing End Sub Aquele ConP.Recordset.AddNew no evento do outro botao está certo? ou será q é ele q está atrapalhando tudo? ou deve ser outra coisa???
  4. Coloquei, kuroi...ficou assim Set Conex = New ADODB.Connection Conex.Open StringDeConexao Dim StringSQL As String StringSQL = "SELECT * FROM FinanWin_ConP WHERE ConP_Cod Like '" & txtConP_Cod & "' AND ConP_NumParc Like '" & txtConP_NumParc & "' And ConP_NumDoc Like '" & txtConP_NumDoc & "' And ConP_Venc Like '" & txtConP_Venc & "'" Set rs = New ADODB.Recordset rs.Open StringSQL, Conex If rs.EOF Then MsgBox "Registro não existe" StringSQL = "INSERT INTO FinanWin_ConP " & _ "(ConP_Cod, ConP_NomeFantasia, ConP_NumParc, ConP_NumDoc, ConP_Venc, " & _ "ConP_DataEmissao, ConP_Valor, ConP_Obs, ConP_Boleto) VALUES ('" & _ txtConP_Cod.Text & ",'" & _ txtConP_NomeFantasia.Text & ",'" & _ txtConP_NumParc.Text & "','" & _ txtConP_NumDoc.Text & "','" & _ txtConP_Venc.Text & "','" & _ txtConP_DataEmissao.Text & "','" & _ txtConP_Valor.Text & "','" & _ txtConP_Obs.Text & "','" & _ txtConP_Boleto.Text & "');" Set rs = Nothing Else MsgBox "Registro existe" End If O que acontece agora é que mostra a MsgBox dizendo que o registro existe....logo, não se pode gravar Mas tá gravando :(
  5. Fiz isso...mas deu o mesmo Run-time error 91 só q agora na linha rs.Open StringSQL, Conexao
  6. Fiz o seguinte.... Set Conex = New ADODB.Connection Conex.Open StringDeConexao Dim StringSQL As String StringSQL = "SELECT * FROM FinanWin_ConP WHERE ConP_Cod Like '" & txtConP_Cod & "' AND ConP_NumParc Like '" & txtConP_NumParc & "' And ConP_NumDoc Like '" & txtConP_NumDoc & "' And ConP_Venc Like '" & txtConP_Venc & "'" If rs.EOF Then MsgBox "Registro não existe" StringSQL = "INSERT INTO FinanWin_ConP " & _ "(ConP_Cod, ConP_NomeFantasia, ConP_NumParc, ConP_NumDoc, ConP_Venc, " & _ "ConP_DataEmissao, ConP_Valor, ConP_Obs, ConP_Boleto) VALUES ('" & _ txtConP_Cod.Text & ",'" & _ lblConP_NomeFantasia.Caption & ",'" & _ txtConP_NumParc.Text & "','" & _ txtConP_NumDoc.Text & "','" & _ txtConP_Venc.Text & "','" & _ txtConP_DataEmissao.Text & "','" & _ txtConP_Valor.Text & "','" & _ txtConP_Obs.Text & "','" & _ txtConP_Boleto.Text & "');" Set rs = New ADODB.Recordset Set rs = Nothing Else MsgBox "Registro existe" End If Mas deu o seguinte erro: Run-time error '91': Object variable or With block variable not set Na linha If rs.EOF Then
  7. Eu fiz um select......mas axo q não fiz da forma correta ou ateh nem sei fazer da forma correta nesse caso... Preciso ver se o que foi digitado nas textbox já existe em algum registro...então fiz isso If (StringSQL = "SELECT * FROM FinanWin_ConP WHERE ConP_Cod Like '" & txtConP_Cod & "' AND ConP_NumParc Like '" & txtConP_NumParc & "' And ConP_NumDoc Like '" & txtConP_NumDoc & "' And ConP_Venc Like '" & txtConP_Venc & "'") Then MsgBox "Registro já existente.", vbExclamation Else ' aqui se faz o insert então testei inserindo dois registros identicos......mas não deu erro nenhum
  8. Olá pessoal.... gostaria de saber como evitar que um registro inteiro seja igual ao outro assim... tenho os campos Codigo, Parcelas, Documento, Vencimento Esses campos podem ter valores repetidos, por exemplo.. é possível ter um registro com: Código:1 Parcelas:3 Documento:10-1 Vencimento: 14/12/07 e outro registro com: Código:1 Parcelas:3 Documento:10-2 Vencimento: 14/01/08 Ou seja, os campos podem ter valores iguais, mas não todos.. o que não seria possivel é dois registros com valores identicos em todos os campos Como se faz isso??? Obrigado
  9. Olá pessoal... Em um form, tenho um cadastro de clientes e também um frame com dois OptionButtons Supondo que um cliente é cadastrado e teve a optionbutton1 como escolhida... e o outro teve a optionbutton 2 como escolhida.. Na hora em q vou "navegar" pelos registros, atraves de botoes como MovePrevious e MoveLast, a optionbutton não muda..ela permanece na seleção que está independentemente do registro.... Como vincular com o registro para poder mostrar a opção escolhida correspondente a cada cliente??? Obrigado
  10. Ae pessoal....problema resolvido tava faltando isso na função... if len(texto) = 0 then validacnpj = true exit function endif tanto no de CPF quanto no de CNPJ Muito obrigado
  11. Olá pessoal....tenho uma rotina pra validar CPF e CNPJ mas não to conseguindo deixar as textbox vazias quando preciso... Deve ser alguma coisa na função mas eu não sei o que aqui estão as funções e suas chamadas 'CPF em um modulo Function FU_ValidaCPF(CPF As String) As Integer Dim soma As Integer Dim Resto As Integer Dim i As Integer CPF = Replace(CPF, ".", "") CPF = Replace(CPF, "-", "") CPF = Replace(CPF, "/", "") 'Valida argumento If Len(CPF) <> 11 Then FU_ValidaCPF = False Exit Function End If soma = 0 For i = 1 To 9 soma = soma + Val(Mid$(CPF, i, 1)) * (11 - i) Next i Resto = 11 - (soma - (Int(soma / 11) * 11)) If Resto = 10 Or Resto = 11 Then Resto = 0 If Resto <> Val(Mid$(CPF, 10, 1)) Then FU_ValidaCPF = False Exit Function End If soma = 0 For i = 1 To 10 soma = soma + Val(Mid$(CPF, i, 1)) * (12 - i) Next i Resto = 11 - (soma - (Int(soma / 11) * 11)) If Resto = 10 Or Resto = 11 Then Resto = 0 If Resto <> Val(Mid$(CPF, 11, 1)) Then FU_ValidaCPF = False Exit Function End If FU_ValidaCPF = True End Function 'CPF - Chamada na textbox Private Sub txtCli_CPF_LostFocus() If FU_ValidaCPF(txtCli_CPF.Text) = 0 Then txtCli_CPF.SetFocus MsgBox "CPF Inválido", vbExclamation End If End Sub 'CNPJ em um modulo Public Function FU_ValidaCNPJ(CNPJ As String) As Boolean Dim retorno, a, j, i, d1, d2 CNPJ = Replace(CNPJ, ".", "") CNPJ = Replace(CNPJ, "-", "") CNPJ = Replace(CNPJ, "/", "") If Len(CNPJ) = 8 And Val(CNPJ) > 0 Then a = 0 j = 0 d1 = 0 For i = 1 To 7 a = Val(Mid(CNPJ, i, 1)) If (i Mod 2) <> 0 Then a = a * 2 End If If a > 9 Then j = j + Int(a / 10) + (a Mod 10) Else j = j + a End If Next i d1 = IIf((j Mod 10) <> 0, 10 - (j Mod 10), 0) If d1 = Val(Mid(CNPJ, 8, 1)) Then FU_ValidaCNPJ = True Else FU_ValidaCNPJ = False End If Else If Len(CNPJ) = 14 And Val(CNPJ) > 0 Then a = 0 i = 0 d1 = 0 d2 = 0 j = 5 For i = 1 To 12 Step 1 a = a + (Val(Mid(CNPJ, i, 1)) * j) j = IIf(j > 2, j - 1, 9) Next i a = a Mod 11 d1 = IIf(a > 1, 11 - a, 0) a = 0 i = 0 j = 6 For i = 1 To 13 Step 1 a = a + (Val(Mid(CNPJ, i, 1)) * j) j = IIf(j > 2, j - 1, 9) Next i a = a Mod 11 d2 = IIf(a > 1, 11 - a, 0) If (d1 = Val(Mid(CNPJ, 13, 1)) And d2 = Val(Mid(CNPJ, _ 14, 1))) Then FU_ValidaCNPJ = True Else FU_ValidaCNPJ = False End If Else FU_ValidaCNPJ = False End If End If End Function CNPJ - Chamada na textbox Private Sub txtCli_CNPJ_LostFocus() Dim valor As String valor = CStr(txtCli_CNPJ.Text) FU_ValidaCNPJ valor If (FU_ValidaCNPJ(txtCli_CNPJ.Text)) Then txtCli_IE.SetFocus Else txtCli_CNPJ.SetFocus MsgBox "CNPJ Inválido", vbExclamation End If End Sub O que acontece é que se a textbox ficar vazia, sempre vai aparecer a MsgBox dizendo q o CPF ou CNPJ é inválido Mas terá momentos em que eu precisarei que a textbox fique vazia. O que fazer??? Se alguém tiver paciencia de olhar o codigo e puder me ajudar, muitíssimo obrigado!
  12. então kuroi, para o usuário escolher a foto ele clica no botao Buscar Foto q tem o seguinte: CommonDialog1.ShowOpen Image1.Picture = LoadPicture(CommonDialog1.FileName) txtCaminho.Text = CommonDialog1.FileName e no botao onde ele salva o registro todo, o conteúdo do txtCaminho.Text é gravado num campo texto da tabela de clientes. Para navegar nos registros e fazer as fotos correspondentes aos clientes aparecerem, coloquei o seguinte Image1.Picture = LoadPicture(txtCaminho.Text) não sei se essa é a forma correta de se fazer isso, mas deu certo... ____________________________________________________________ E no relatorio....como devo chamar a foto??? porque como salvo o caminho da foto num campo texto, quando vou arrastar a txtbox do DataEnvironment pro DataReport, aí sai o caminho da foto no relatorio.... sei q é preciso colocar um comando Image no relatorio...mas como vou chamar a foto de tal cliente para imprimir???? Ficarei muito grato a quem puder me ajudar
  13. kuroi, muito obrigado pelo tutorial..... eu li tudo e tentei fazer tudo....mas não entendi quase nada... sem contar q nada q eu fiz funcionou também... existe alguma outra forma de salvar o caminho da imagem no banco de dados??? Obrigado
  14. Então Macêdo, é q eu não utilizo nenhuma variavel no calculo da diferença de hora... então ta complicado de fazer dessa forma esse é o unico problema.......porque o resto do codigo da condição ta tudo certo
  15. Olá pessoas.... Vasculhei o forum todo aqui mas não encontrei nada que pudesse me ajudar... Tenho um programa em q o cliente vai cadastrar as peças do carro e selecionar 3 fotos Para colocar as fotos no form eu sei.....busco através de um CommonDialog.... O problema é que eu não sei salvar essas fotos no banco de dados.... Salvar as fotos ou salvar o caminho delas.... E depois delas estarem salvas, precisaria imprimi-las num relatorio gerado em DataReport, então gostaria de saber como inserir as fotos no relatorio... Obrigado a quem puder ajudar
  16. Olá pessoas.... Encontrei vários tópicos aqui no fórum sobre este tema, mas nada do que eu estou precisando... É o seguinte... Em um form, busco uma imagem por uma CommonDialog e ela ficará numa Image.. Deixei essa Image de um tamanho menor que a imagem normal, o que é necessário. Então preciso gerar um relatorio com essa imagem... mas se eu chamar a imagem no relatorio pelo caminho, ela virá do seu tamanho normal. E se eu gravar a imagem no banco de dados, ela será salva do seu tamanho normal ou do tamanho menor, como está na Image no form???? Preciso muito imprimir no relatorio a imagem como está no form. Alguém conseguiria me ajudar???!!! Obrigado
  17. Tenho o campo Atend_TempoEX...então gostaria de que quando esse campo fosse "00:00", ele ficasse vazio no DataReport...ou não imprimisse... não o registro inteiro...apenas o campo Atend_TempoEx....os outros campos daquele registro devem aparecer... Exemplo: Data | Nome | Inicio | Termino | Duracao | Tempo Ex 07/11/07 | Gabriel | 08:31 | 09:00 | 00:29 | 07/11/07 | Macedo | 10:30 | 12:00 | 01:30 | 00:10 O relatorio teria q ficar assim, caso o TempoEx de Gabriel for "00:00" ________________________________________________________________ No evento click do botao que gera o relatorio, tentei isso: If rptAtendNome.Sections("AtendNome_Detail").Controls("txtAtend_Servico").Text = "00:00" Then rptAtendNome.Sections("AtendNome_Detail").Controls("txtAtend_Servico").Text = "" End If Mas dá o seguinte erro.. Run-time error '438': Object doesn't support this property or method ________________________________________________________________ então tirei isso e coloquei isso: Set rptAtendNome.DataSource = DESistempo.Connection1.Execute("SELECT Iif(Atend_Servico = '00:00', '', Atend_Servico) As Atend_Servico FROM Atendimentos") Mas deu o seguinte erro: Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another. alguém consegue me ajudar????
  18. Agora sim, Decio...entendi o que é.... e deu certinho.... baixei uma versao mais nova do MDAC (baixei MDAC 2.7 no caso), instalei e os erros pararam e o executavel ta rodando normalmente muito obrigado
  19. o programa faz referencia ao Microsoft Activex Data Object 2.1 Library e a um Microsoft Activex Data Objects Recordsets 2.1 Library.... Quanto ao Mdac, não entendi muito bem.... o que seria?? Onde encontro-o???
  20. Olá pessoal....estou muito desesperado aqui Tive que reinstalar o Windows... em funcao disso, ocorreram erros ao iniciar o meu projeto no VB então resolvi reinstalar o Visual Studio... mas estes erros continuaram......e agora ta dando um erro de compilacao e o executavel nem abre..... Estes são os erros.... logo ao abrir o VB e selecionar o projeto que desejo abrir, aparece uma caixa de mensagem com o titulo Data View e a mensagem Method '~' of object '~' failed Clico em OK e o VB continua a abrir.... quando vou executar o programa, dá o seguinte erro Compile error: Object library not registered e então seleciona a seguinte linha Public Conex As ADODB.Connection alguém sabe o que está havendo????? Estou desesperado, pois NADA está rodando
  21. É kuroi.....fiquei sabendo que o Three32.ocx que eu precisava, não tinha na minha maquina... encontrei para baixar, salvei no caminho indicado e adicionei o Sheridan 3D Controls na mao mesmo, clicando no Browse Muito obrigado
  22. Gostaria de adicionar o componente Sheridan 3D Controls ao meu projeto, mas não encontro-o Dou um Ctrl+T...aí quando abre a caixa de componentes, o Sheridan 3D Controls não está la.... o que devo fazer para adicioná-lo ao meu projeto?? Obrigado
×
×
  • Criar Novo...