Ir para conteúdo
Fórum Script Brasil

kuroi

Membros
  • Total de itens

    7.184
  • Registro em

  • Última visita

Tudo que kuroi postou

  1. o certo seria where codigo = 97 no lugar de 97 você poe sempre o codigo do registro q você vai estar alterando no momento (o codigo q foi gerado automaticamente).
  2. faltou fecha um parentese. assim: ssql = ssql & replace(replace(replace(Trim(txtTelefone.Text),"(",""),")",""),"-","") & "' tenta agora sim, mas, olha la o formulario. o combobox deve ta apontando pro primero não?? se você realmente mudou de indice antes, tem algum lugar q ele altera de volta pra 0. se eu entendi os dados tão vindo de um flex grid não?? você checou se o flex grid ta setando o indice direitinho??
  3. nunca faca isso ai. update sem where. senao ele vai atualizar todos os registros da tabela com essas informacoes q você passou. q erro?? EDITADO: faltou tb o set, olha o codigo q passei.
  4. sim, não use insert, use update. sintaxe: Update Tabela Set Campo1 = valor1, Campo2 = valor2 Where Codigo = valor[/code] ai você tera q passar o codigo q ele gerou no where.
  5. kuroi

    ajuda

    cazuza, ainda acho q é aquilo q eu falei. pensa na tabela assim ó: Campo 1 | Campo 2 | RD_PD | RD_VALOR ------------------------------------- XXXXXXX | XXXXXXX | "705" | 100,00 -> registro 1 XXXXXXX | XXXXXXX | "713" | 50,00 -> registro 2[/code] temos então na tabela dois registros. o registro 1 tem o lancamento 705. e o registro 2 tem o lancamento 713. agora olhe suas duas formulas, vamos analisa-las pra cada registro: REGISTRO 1 LIQ: [code]if {SRD010.RD_PD}='705' then //é 705 ({SRD010.RD_VALOR}) LIQ = 100,00 PROV: if {SRD010.RD_PD}='713' then //não é 713 ({SRD010.RD_VALOR})[/code] PROV = 0,00 ------------------------------------------ REGISTRO 2 LIQ: [code]if {SRD010.RD_PD}='705' then //não é 705 ({SRD010.RD_VALOR}) LIQ = 0,00 PROV: if {SRD010.RD_PD}='713' then //não é 713 ({SRD010.RD_VALOR})[/code] PROV = 50,00 ------------------------------------------ resumindo: Registro 1: Liq = 100,00 Prov = 0,00 Registro 2: Liq = 0,00 Prov = 50,00 certo?? então agora vamos somar no inss?? no registro 1, ficaria: 100 + 0 = 100 no registro 2, ficaria: 0 + 50 = 50 entendeu?? dessa forma você nunca vai somar o 100 com o 50. a não ser q você um agrupamento como eu falei. veja se não é isso ai ou se eu to falando alguma bestera, qualquer coisa poste.
  6. kuroi

    cor do msgbox

    alex, acho q não da (talvez com alguma api), mas você pode criar um novo form e fazer o seu proprio form funcionar como uma msgbox (chame como modal).
  7. alex, ponha um breakpoint (F9) na linha q pega o ListIndex e clique normalmente em alterar. quando chegar la ele deve parar. ai cheque como esta o combo no momento. quanto ao replace, esse telefone vem dum maskedbox?? se vier, é so você pegar pelo ClipText, não precisa de Replace. senao, não tem como, você vai ter q usar tres Replaces.
  8. não entendi a pergunta... você não precisa escrever nd em text nenhuma sendo auto numeracao ou não. você não precisa nd, você é o programador e é você quem define o q vai precisar ou não. se você quiser q o usuario digite, você faz ele digitar, se você quiser preencher automatico, você preenche, desde q seja possivel. ou o q você ta querendo é saber qual o ultimo codigo salvo pra preencher o text automatico?? se for isso, o select seria esse: Select * From Tabela Where Codigo = (Select Max(Codigo) From Tabela) se a tabela estiver em branco (o proximo codigo sera 1), retornara EOF. veja, se é isso, qualquer coisa poste.
  9. bstar, acho q tanto faz maiusculo e minusculo, "m" é pra mes e "n" é pra minuto, pode testar. pelo menos é assim no crystal 8.5 e no visual basic tb. e o codigo q eu te passei tem q funcionar sim, olha la, são dois DateAdds, você tem q alterar a soma nos dois. de qualquer modo, aqui esta anexo um .rpt q faz exatamente isso q você precisa, usando exatamente esse codigo q passei, e aqui funcionou certinho, alterando pra janeiro de 2010, de uma olhada ai (crystal versao 8.5): bstar.rar
  10. gabriel, pela sua descricao não entendi direito o problema, mas pelo seu codigo, o erro q vejo la é o seguinte. a sintaxe do insert é assim: Insert Into Tabela(Campo1, Campo2) Values('valor1', 'valor2') viu q no seu caso você não pos os nomes dos campos?? isso nos fazemos quando vamos inserir dados em todos os campos (porque eu podia querer dexar um campo qualquer sem valor, por exemplo). exemplo, se minha tabela, tem apenas os campos Campo1 e Campo2, eu posso fazer assim: Insert Into Tabela Values('valor1', 'valor2') agora se a minha tabela tiver os campos Campo1, Campo2 e Campo3, eu não posso usar esse codigo de cima, porque ele espera q você passe o valor do Campo3. e agora, isso é mta burrice do access (não testei isso em otros bancos de dados, não sei se acontece o mesmo), mas ele espera q você digite o valor TAMBEM DO CAMPO AUTO-NUMEROCAO. mas acontece q alem de não terem sido feitos pra isso, CAMPOS AUTO-NUMERACAO não PODEM RECEBER VALOR, mesmo q você quiser. isso é mta chatice, pelo menos eu nunca encontrei uma forma melhor de contornar isso, mas o q você vai ter q fazer seria, escrever o nome de todos os campos no seu insert, menos do seu campo auto-numeracao. se você tiver com preguica de escrever, o q você pode fazer seria um for num recordset q tenha feito um select dessa tabela pegando o rs(indice).Name (q retorna o nome do campo) e concatenar na string.
  11. nesse caso, use a funcao DateAdd(). exemplo: campo mês atual - (menos) 1 (um mês) Month ({Comando.DATA_LANCAMENTO}) = Month(DateAdd("m", -1, CurrentDate)) and Year ({Comando.DATA_LANCAMENTO}) = Year (DateAdd("m", -1, CurrentDate)) e assim por diante (troque -1 por -2, -3, etc).
  12. kuroi

    ajuda

    cazuza, olha la a primera linha de cada formula if {SRD010.RD_PD}=... o {SRD010.RD_PD} so pode ser uma coisa por vez. então pra cada registro, somente um desses seus dois campos formula vai estar preenchido por vez. e o outro vai ser 0. acho q você ta querendo fazer soma em agrupamento não?? nesse caso você teria q criar o grupo clicando no botaozinho do sigma la em cima. ou se o grupo já ta criado, você clica em menu Insert -> Subtotal e seleciona Sum() para esse seu terceiro campo formula (o q soma os dois primeiros). veja ai, qualquer coisa poste.
  13. bstar, no relatorio todo você so quer q aparecam os tres ultimos meses?? se for isso, então, você devia fazer o relatorio normalmente, e simplesmente filtrar pelos tres ultimos meses. pra isso, ponha aquela formula q eu passei no selection formula (menu Report -> Edit Selection Formula -> Record)
  14. então marcelo, não é q precise ser assim, mas é q nunca fiz de otra forma, então não saberia te informar como fazer de outro jeito. e é muito simples, se você salvar a imagem toda no banco, como é explicado aqui: http://www.macoratti.net/img_bd.htm você não tem trabalho nenhum pra mostrar, é so adiciona-la como um campo qualquer, q ele mostra la. agora, talvez isso não sirva pro seu caso agora. mas veja ai, se isso não servir pra você e você não descobrir como fazer de outro modo, avisa ai q eu tb tento dar uma procurada aqui. talvez seja ate bem simples.
  15. marcelo, a imagem esta salva dentro do banco de dados (tipo num campo objeto ole)??
  16. BStar, tenta usar a funcao DateDiff(), tipo assim, no Selection Formula: DateDiff("m", {Comando.DATA}, CurrentDate) <= 3
  17. kuroi

    insert

    você tem q escrever True e False ou 1 e 0 sempre sem aspa.
  18. kuroi

    Ajuda com sendkeys

    esse teste aqui você tentou??
  19. espaco, você quer dizer, tipo em vez de ficar "kuroi" ele fica tipo "kuroi "seria isso?? se for, use a funcao Trim(). continue aqui mesmo, se o assunto se estender eu divido o tópico.
  20. olha la o codigo q o raphael passou, é bem diferente disso ai q você fez. a unica parte q você tem q alterar é a text1.text = rs("campo1") alem disso não é pra ser no change. o change é quando o cara digita alguma coisa. se você quer q aconteca quando ele seleciona alguma coisa, tem q ser no click.
  21. mas se eu entendi como funciona seu programa, o form 1 não tem dado nenhum, ele simplesmente tras os dados q estao no -->banco de dados.<-- e se eu entendi o q você ta querendo fazer, você não precisa acessar form 1 pra pegar os dados, você pode pegar direto do banco de dados assim como é feito dentro do form 1. tentar pegar os dados a partir do form 1 so complica, atrapalha e ainda sobrecarrega mais a memoria. se o cara digita o codigo do cliente no Text1 (no form 2 por exemplo), você simplesmente procura la: sql = "Select * From Clientes Where codigo = " & Text1.Text Set rs = cn.Execute(sql) txtNomeCliente.Text = rs!NomeCliente[/code] onde rs é o seu RecordSet e cn seu objeto Connection. veja ai se não é isso. fica bem mais facil, não tem necessidade de abrir o form 1.
  22. tito, mas ententa assim, cada instancia do programa não tem comunicacao nenhuma com a outra (a não se q você programe essa comunicao de proposito, por exemplo, com winsock ou de qualquer outra forma), então se uma pessoa abre o programa num computador e abre um dos forms, no outro pc não tem a minima influencia. levando isso em consideracao, o q você quer q aconteca quando ele abra o form 2 e o form 1 não esteja ainda aberto??
  23. mas o form 1 esta aberto na hora q os outros vao acessa-los??
  24. tenta explicar com mais clareza e detalhes o q você ta precisando fazer.
×
×
  • Criar Novo...