Ir para conteúdo
Fórum Script Brasil

Lisandro Oliveira

Membros
  • Total de itens

    399
  • Registro em

  • Última visita

Tudo que Lisandro Oliveira postou

  1. Olá Daniel, Você pode determinar isso na hora da criação do BD Create database Banco on (name='banco_dados', (nome logico) filename='c:\bancos\banco_dados.mdf', (nome fisico) size =100mb, (tamanho inicial) maxsize= se você especificar ele ira crescer ate aqui Filegrowth=10mb --essa é a taxa de crescimento ) Log on (name='banco_log', (nome logico) filename='f:\bancos\banco_log.ldf', (nome fisico) size =50mb, (tamanho inicial) maxsize= se você especificar ele ira crescer ate aqui Filegrowth=10mb --essa é a taxa de crescimento ) ou Utilizando o Enterprise Mananger, Clique em Data bases, clique com o botão direito sobre o database desejado e vá nas propriedades Na guia Data file, lá na parte de baixo você tem a taxa de crescimento "By percent" e logo ao lado você tem o tamanho maximo do BD "restrict file Growth" OK?? Abraços, Lisandro Oliveira.
  2. Lisandro Oliveira

    Travar

    Olá Beber, veja: Sub destrava() ActiveSheet.Unprotect Range("A1:A9").Select Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom End Sub Abraços, Lisandro Oliveira.
  3. Vá em ferramentas / Macro / Editor do Visual Basic Agora vá em inserir / módulo e cole tudo isso lá. Depois de colar, coloque em uma célula a função: =fextenso(A1;1;"Real") Na célula A1 coloque um valor. beleza?? Function fExtenso(Num As Double, Optional FraçTipo As Integer, Optional UndNomeSing As String, Optional UndNomePlur As String, Optional UndMasc As Boolean = True, Optional UmMil As Boolean = True, Optional VirgEntrMilh As Boolean = False) As String Dim ExtensInt As String Dim ExtensFrac As String Dim UndNome As String Dim FracNome As String Dim Signif As String Dim NumText As String If Num > 999999999999.99 Or Num < 0 Then fExtenso = "Erro! (Valores válidos: >=0 e < 1 trilhão)" Exit Function End If 'Preparando nome da unidade, singular e plural If Not Mid(UndNomeSing, 2, 1) = UCase(Mid(UndNomeSing, 2, 1)) Then UndNomeSing = LCase(UndNomeSing) If UndNomePlur <> "" Then If Not Mid(UndNomePlur, 2, 1) = UCase(Mid(UndNomePlur, 2, 1)) Then UndNomePlur = LCase(UndNomePlur) Else UndNomePlur = IIf(UndNomeSing = "", "", Pluralizar(UndNomeSing)) 'Se a função Pluralizar falhar palavras estrangeiras ou em exceções 'portuguesas, deve ser usado o argumento UndNomePlur. End If 'Extenso parte inteira ExtensInt = fExtensoInt(Int(CDec(Num)), UndMasc, UmMil, VirgEntrMilh) 'Extenso parte fracionária If FraçTipo = 0 And UndNomeSing = "" Then FraçTipo = 3 If FraçTipo = 0 And UndNomeSing <> "" Then FraçTipo = 1 Select Case FraçTipo Case 1 'Lê fração em centavo. Ideal para Moeda Num = Format(Num, "0.00") * 1 'Round(Num,2) ExtensFrac = fExtensoInt((Num - Int(CDec(Num))) * 100, True, UmMil, VirgEntrMilh) If ExtensInt = "" And ExtensFrac = "" Then ExtensInt = "zero" 'Nome da unidade no singular ou plural UndNome = IIf(Num < 1, IIf(Num = 0, " " & UndNomePlur, ""), IIf(UndNomeSing = "" Or Right(ExtensInt, 1) = " ", "", " ") & IIf(Int(CDec(Num)) = 1, UndNomeSing, UndNomePlur) & IIf(Num = Int(CDec(Num)), "", " e ")) 'Nome da fração no singular ou plural FracNome = IIf(Num = Int(CDec(Num)), "", IIf(Int(CDec(Num * 100)) - Int(CDec(Num)) * 100 = 1, " centavo", " centavos")) fExtenso = ExtensInt & UndNome & ExtensFrac & FracNome Case 2 'Lê a vírgula decimal, cada zero e o número restante como inteiro. Ideal para percentual. ExtensFrac = Num - Int(CDec(Num)) If ExtensFrac = 0 Then fExtenso = ExtensInt Else ExtensFrac = Format(ExtensFrac, "0.############") ExtensFrac = Mid(ExtensFrac, 3, 15) fExtenso = IIf(ExtensInt = "", "zero", ExtensInt) & " vírgula" Do While Left(ExtensFrac, 1) = "0" fExtenso = fExtenso & " zero" ExtensFrac = Mid(ExtensFrac, 2, 15) Loop fExtenso = fExtenso & " " & fExtensoInt(ExtensFrac * 1, UndMasc, UmMil, VirgEntrMilh) End If If fExtenso = "" Then fExtenso = "zero" fExtenso = fExtenso & IIf(UndNomeSing <> "", " ", "") & IIf(Num = 1, UndNomeSing, UndNomePlur) Case 3 'Lê a fração de décimo a bilionésimo. Ideal para número puro. ExtensFrac = Num - Int(CDec(Num)) If ExtensFrac = 0 Then ExtensFrac = "" Else ExtensFrac = Format(ExtensFrac, "0.############") Signif = Len(ExtensFrac) - 2 If Signif > 3 And Signif <> 6 And Signif <> 9 And Signif <> 12 Then Signif = Int(CDec(Signif / 3)) * 3 + 3 If Signif > 0 Then ExtensFrac = Format(ExtensFrac, "0.000000000000") ExtensFrac = fExtensoInt(Mid(ExtensFrac, 3, Signif) * 1, True, UmMil, VirgEntrMilh) FracNome = Choose(Signif, "décimo", "centésimo", "milésimo", , , "milionésimo", , , "bilionésimo", , , "trilionésimo") FracNome = " " & FracNome & IIf(ExtensFrac = "um", "", "s") Else ExtensFrac = "" End If End If If ExtensInt = "" And ExtensFrac = "" Then ExtensInt = "zero" If UndNomeSing = "" Then fExtenso = ExtensInt & IIf(ExtensInt <> "" And ExtensFrac <> "", ", e ", "") & ExtensFrac & FracNome Else 'Nome da unidade no singular ou plural UndNome = IIf(Num < 1, IIf(Num = 0, " " & UndNomePlur, ""), IIf(UndNomeSing = "" Or Right(ExtensInt, 1) = " ", "", " ") & IIf(Int(CDec(Num)) = 1, UndNomeSing, UndNomePlur) & IIf(Num = Int(CDec(Num)), "", " e ")) 'Nome da fração no singular ou plural FracNome = IIf(Num = Int(CDec(Num)), "", FracNome & " de " & UndNomeSing) fExtenso = ExtensInt & UndNome & ExtensFrac & FracNome End If End Select End Function Private Function fExtensoInt(Num As Double, UndMasc As Boolean, UmMil As Boolean, VirgEntrMilh As Boolean) As String 'Gramática portuguesa: 'Regra Geral: Não se intercala a conjunção 'e' e nem vírgula entre posições de milhar. 'Exceção: Se a milhar posterior for menor que 100 ou for centena inteira (100,200,300...) 'Alguns gramáticos não aceitam essa exceção e outros já aceitam a vírgula. 'A variável ConjExc ativa/desativa a exceção 'A variável VirgEntrMilh usa vírgula entre milhares Dim NumText As String Dim Ce As String Dim Ma As String Dim Mõ As String Dim Bi As String Dim f As String Dim ConjExc As Boolean ConjExc = True If VirgEntrMilh Then ConjExc = False If Num = 0 Then fExtensoInt = "" Exit Function End If NumText = Format(Num, "000,000,000,000") '1º Posição de milhar, Centenas Ce = Mid(NumText, 13, 3) '2º Posição de milhar, Milhares Ma = Mid(NumText, 9, 3) '3º Posição de milhar, Milhões Mõ = Mid(NumText, 5, 3) '4º Posição de milhar, Bilhões Bi = Mid(NumText, 1, 3) f = fMilharText(Bi, UndMasc) & IIf(Bi > 0, IIf(Bi > 1, " bilhões", " bilhão"), "") f = f & IIf(VirgEntrMilh And Bi > 0 And Mõ > 0, ", ", IIf(Bi > 0 And Mõ > 0, " ", "")) f = f & IIf(ConjExc And Bi > 0 And Mõ > 0 And (Mõ < 100 Or Right(Mõ, 2) = "00"), "e ", "") f = f & fMilharText(Mõ, UndMasc) & IIf(Mõ > 0, IIf(Mõ > 1, " milhões", " milhão"), "") f = f & IIf(VirgEntrMilh And Bi + Mõ > 0 And Ma > 0, ", ", IIf(Bi + Mõ > 0 And Ma > 0, " ", "")) f = f & IIf(ConjExc And Bi + Mõ > 0 And Ma > 0 And (Ma < 100 Or Right(Ma, 2) = "00"), "e ", "") f = f & fMilharText(Ma, UndMasc) & IIf(Ma > 0, IIf(Ma > 1, " mil", " mil"), "") If Not UmMil Then If f = "um mil" Then f = "mil" 'Omitir 'um' em 'um mil' f = f & IIf(VirgEntrMilh And Bi + Mõ + Ma > 0 And Ce > 0, ", ", IIf(Bi + Mõ + Ma > 0 And Ce > 0, " ", "")) f = f & IIf(ConjExc And Bi + Mõ + Ma > 0 And Ce > 0 And (Ce < 100 Or Right(Ce, 2) = "00"), "e ", "") f = f & fMilharText(Ce, UndMasc) & IIf(Ce > 0, ",", "") f = IIf(Right(f, 1) = ",", Mid(f, 1, Len(f) - 1), f) f = IIf(Right(f, 2) = "ão", f & " de", f) f = IIf(Right(f, 3) = "ões", f & " de", f) fExtensoInt = f End Function Private Function fMilharText(NumText As String, UndMasc As Boolean) 'Gramática portuguesa: 'Regra Geral: Intercala-se a conjunção 'e' entre centenas, dezenas e unidades Dim UndText As String Dim DezenaText As String Dim CentenaText As String Const ConjDez_Un = " e " 'Conjunção entre Dezena e Unidade Const ConjCen_Dez = " e " 'Conjunção entre Centena e Unidade ' Unidade texto If Mid(NumText, 2, 1) <> "1" Then UndText = Choose(Mid(NumText, 3, 1) + 1, "", IIf(UndMasc, "um", "uma"), _ IIf(UndMasc, "dois", "duas"), "três", "quatro", "cinco", "seis", _ "sete", "oito", "nove") Else UndText = "" End If 'Dezena texto If Mid(NumText, 2, 1) <> "1" Then DezenaText = Choose(Mid(NumText, 2, 1) + 1, "", "dez", "vinte", _ "trinta", "quarenta", "cinqüenta", "sessenta", "setenta", _ "oitenta", "noventa") Else DezenaText = Choose(Mid(NumText, 3, 1) + 1, "dez", "onze", _ "doze", "treze", "quatorze", "quinze", "dezesseis", _ "dezessete", "dezoito", "dezenove") End If 'Centena texto If UndMasc Then CentenaText = Choose(Mid(NumText, 1, 1) + 1, "", "cento", "duzentos", _ "trezentos", "quatrocentos", "quinhentos", "seiscentos", _ "setecentos", "oitocentos", "novecentos") Else CentenaText = Choose(Mid(NumText, 1, 1) + 1, "", "cento", "duzentas", _ "trezentas", "quatrocentas", "quinhentas", "seiscentas", _ "setecentas", "oitocentas", "novecentas") End If If Mid(NumText, 1, 1) = "1" And Mid(NumText, 2, 2) = "00" Then CentenaText = "cem" 'Milhar texto fMilharText = CentenaText & IIf(Mid(NumText, 2, 2) * 1 > 0 And CentenaText <> "", ConjCen_Dez, "") _ & DezenaText & IIf(Mid(NumText, 2, 2) * 1 <= 19 Or Right(NumText, 1) = "0", "", ConjDez_Un) _ & UndText End Function Function Pluralizar(Sing As String) As String Dim e As String 'Regra geral: Pluralizar = IIf(Sing = "", "", Sing & "s") 'Exceções: (Quase todas) ' Nomes terminados em al, el, ol, ul, il e = LCase(Right(Sing, 2)) If e = "al" Or e = "el" Or e = "ol" Or e = "ul" Or e = "il" Then Pluralizar = Left(Sing, Len(Sing) - 1) & "is" 'Nomes terminados em il If e = "il" Then Pluralizar = Left(Sing, Len(Sing) - 2) & "is" ' Nomes terminados em r, s, z e = LCase(Right(Sing, 1)) If e = "r" Or e = "s" Or e = "z" Then Pluralizar = Sing & "es" ' Nomes terminados em m If e = "m" Then Pluralizar = Left(Sing, Len(Sing) - 1) & "ns" ' Nomes terminados em m If e = "x" Then Pluralizar = Sing End Function
  4. Segue: =ÍNDICE(Dados!A1:A3;A1) Abraços Lisandro Oliveira
  5. Crie uma trigger insert e busque o código na tabela inserted. Abraços Lisandro Oliveira.
  6. Olha fahledu pode até ter, mais eu nunca vi não. Abraços lisandro Oliveira.
  7. Lisandro Oliveira

    Macro Automatica

    Bom dia Tavinho, Abra seu arquivo, faça as configurações desejadas, Agora vá no menu Arquivo / Salvar como Na opção SALVAR COM TIPO, escolha Modelo(*.xlt) Pronto, agora feche o excel e abra -o novamente e vá em Arquivo / Novo Escolha o arquivo que você acabou de salvar. beleza?? Abraços Lisandro Oliveira.
  8. Bom Dia Marontodo, Vá no menu Ferramentas / Opções Na guia Calculo, coloque no AUTOMATICO. Abraços Lisandro Oliveira.
  9. Falou, valeu por postar!! Abraços Lisandro Oliveira.
  10. Olá Edgar, Veja: No menu Ferramentas / opções Clique na aba Formato de mensagem; Em formato de mensagem, escolha HTML; Logo abaixo em Papéis de Carta e fonte, escolha o plano de fundo. Abraços Lisandro Oliveira.
  11. Josiane, eu acho que isso é vírus!!!!!! passe antivirus, tente abrir no WordPad, Reinstale o office
  12. Olá FahEdu, Veja: Sub interage() teste = UCase(Range("b4").Value) Select Case teste Case "OLA" If Time >= "06:00" And Time < "12:00" Then Range("b2").Value = "bom dia" ElseIf Time >= "12:00" Or Time < "18:00" Then Range("b2").Value = "boa tarde" ElseIf Time >= "18:00" Or Time < "06:00" Then Range("b2").Value = "boa noite" End If Case "" Range("b4").Value = "Esta em branco" End Select End Sub Qualquer coisa retorne Abraços Lisandro Oliveira.
  13. Olá Espartaco, Para mudar o dono do banco execute a SP abaixo SP_changedbowner 'novousuario', 'nome do banco' beleza?? Abraços Lisandro Oliveira.
  14. Olá fercosmig, Só tem um probleminha, Isso só funciona no I.E 6.0. você sabe se existe outra maneira de isso funcionar tb no numa versão inferior ao I.E 6.0 Abraços lisandro Oliveira
  15. ah, isso é para criar usuario / acesso veja: e você ainda não possui um login para o usuário, siga o exemplo abaixo: EXEC sp_addlogin 'NomeLogin', 'SenhaLogin', 'banco' GO USE banco GO sp_grantdbaccess 'NomeLogin','NomeLogin' GO sp_addrolemember 'db_owner','NomeLogin' Se você já possui um login: USE banco GO sp_grantdbaccess 'NomeLogin','NomeLogin' GO sp_addrolemember 'db_owner','NomeLogin' dessa forma você cria um usuario e da acesso para ele no banco. ah, e o banco você cria via codigo mesmo: CREATE DATA BASE NOMEDOBANCO Caso você queira especificar algumas coisas: Create database Banco on (name='banco_dados', (nome logico) filename='c:\bancos\banco_dados.mdf', (nome fisico) size =100mb, (tamanho inicial) maxsize= se você especificar ele ira crescer ate aqui Filegrowth=10mb --essa é a taxa de crescimento ), Filegroup Banco_dados2 (name='banco_dados2', (nome logico) filename='d:\bancos\banco_dados2.ndf', (nome fisico) size =100mb, (tamanho inicial) maxsize= se você especificar ele ira crescer ate aqui Filegrowth=10mb --essa é a taxa de crescimento ), Filegroup Banco_dados3 (name='banco_dados3', (nome logico) filename='e:\bancos\banco_dados3.ndf', (nome fisico) size =100mb, (tamanho inicial) maxsize= se você especificar ele ira crescer ate aqui Filegrowth=10mb --essa é a taxa de crescimento ) Log on (name='banco_log', (nome logico) filename='f:\bancos\banco_log.ldf', (nome fisico) size =50mb, (tamanho inicial) maxsize= se você especificar ele ira crescer ate aqui Filegrowth=10mb --essa é a taxa de crescimento ) Veja você pode estar especificando cada arquivo do database em uma unidade diferente, isso faz com que melhore um pouco a performance do banco, porque você tem 4 cabeçotes de leitura e gravação que podem estar trabalhando em paralelo, e isso agiliza o processo de I/O do banco beleza?? Abraços Lisandro oliveira
  16. E ae fahledu, beleza?? Tente agora com esse código: Sub ConverterMaiuscula() Dim lis As Range Dim a As Integer a = 1 For Each lis In Selection lis.Select If Selection.Interior.ColorIndex = 6 And Selection.Interior.Pattern = xlSolid Then Range("D" & a).Value = "M" a = a + 1 GoTo aa End If a = a + 1 aa: Next End Sub Qualquer coisa retorne Abraços Lisandro Oliveira
  17. Em VBA dá, é só você colocar dentro dos ifs o codigo para fazer o filtro. Verifica se a cor do fundo da célula A1 é amarela Sub cor() Range("a1").Select If Selection.Interior.ColorIndex = 6 And Selection.Interior.Pattern = xlSolid Then Range("d1").Value = "OK, a cor de fundo é amarela" Else Range("d1").Value = "A cor de fundo não é amarela" End If End Sub Verifica se a cor da fonte da Célula A1 é amarela. Sub lis() Range("a1").Select If Selection.Font.ColorIndex = 6 Then Range("d1").Value = "OK, a cor da fonte é amarela" Else Range("d1").Value = "A cor da fonte não é amarela" End If End Sub Qualquer coisa retorne, Abraços Lisandro Oliveira.
  18. Eu Gostaria que algumas opções do combo aparecessem desativadas. Não é o combo desativado, e sim algumas opções do <option> aparecessem desativadas. Eu preciso porque tenho que colocar categorias e os itens das categorias no combo e gostaria que o usuário não conseguisse selecionar a categora e sim só os itens dentro da categoria ex; dentro do Combo: REQUISITOS -Completude -Clareza -Consistencia MASSA DE TESTE -Alteração de massa -Adequação de massa Gostaria que nesse combo o usuario não conseguisse selecionar a palavra REQUISITO E MASSA DE TESTE, e sim os itens dentro deles Existe alguma propriedade do <OPTION> (tipo desabled...) que deixa a opção desabilitada????
  19. Olá Raposo, Faça assim: Na barra de ferramentas do Visual Basic, adicione um botão no Slide Agora clique 2x no botão e cole esse codigo: With ActivePresentation.PrintOptions .RangeType = ppPrintCurrent End With ActivePresentation.PrintOut Tinha mais propriedades mais eu tirei porque não vem ao caso, só dessa forma já funciona. Pronto, aperte a tecla F5 e clique no botão beleza?? Abraços Lisandro Oliveira.
  20. Jean, no SQL Server esse comando funciona, provavelmente é por que você está no utilizando o Interbase, tente colocar ao invés de alter, modify Alter table clientes modify column sobrenome char(100) null Se você tivesse criado uma Constraint na criação da tabela, seria só apagar essa constraint. Puxa, no InterBase eu não sei como ficaria. Abraços Lisandro Oliveira
  21. Jean tente assim: Alter table cliente alter column sobrenome char(50) null Abraços Lisandro oliveira.
  22. Lisandro Oliveira

    Trigger

    Olá Nivaldo, você precisa criar uma trigger que é disparada antes de ocorrer a inclusão ( instead of ) veja: drop trigger t_clientes create table clientes (codigo int, nome char(20) ) create trigger t_clientes on clientes instead of insert as declare @cod int select @cod = codigo from inserted if @cod = 0 begin print 'igual 0' insert into clientes select codigo, nome from inserted return end if (exists (Select codigo from clientes where codigo = @cod)) Begin print 'Registro encontrado' return end ELSE begin print 'Registro inserido' insert into Clientes select codigo, nome from inserted end Qualquer coisa retorne Abraços Lisandro Oliveira
  23. Veja Welington: --Se for a cor de fundo da Célula: Sub Cor_da_Celula() Range("c21").Select If Range("c21").Value = "x" Then With Selection.Interior .ColorIndex = 3 .Pattern = xlSolid End With End If End Sub --Se for a Cor da Fonte: Sub Cor_da_Fonte() Range("c21").Select If Range("c21").Value = "x" Then Selection.Font.ColorIndex = 3 End If End Sub Obs: Isso se você quiser utlizar VBA, caso contrario, realmente é melhor utilizar a formatação condicional. Abs Lisandro Oliveira
×
×
  • Criar Novo...