kuroi
-
Total de itens
7.184 -
Registro em
-
Última visita
kuroi's Achievements
0
Reputação
-
Bom dia, estou com uma dúvida na criação de uma formula no VB.
A | B | C | vSaldoFinal
0 | 13 | 129,5 | 116,5 = C + A - B
0 | 13 | 129.5 | 103,5 ( Para calcular este campo, necessito do resultado do campo acima) = vSaldoFinal + A - C
FÓRMULA:
Somente no primeiro campo deve ser: C + A - B
Nos próximos campos:
vSaldoFinal + A - C
vSaldoFinal + A - C
vSaldoFinal + A - C
vSaldoFinal + A - C
Etc
A fórmula que tenho aqui é:
WhilePrintingRecords;
CurrencyVar vSaldoFinal;if {tabela.MOV_CH_SITUACAO}<>'C' then
vSaldoFinal := ({@campoC} + {tabela.campoA}) - {tabela.campoB};
vSaldoFinal;
Poderiam me ajudar por favor?
-
Grande Kuroi:
Você já me salvou diversas vezes, e pode me salvar mais uma vez. Tenho o código abaixo que abre uma determinada pasta no Windows; até aí tudo bem, mas preciso de um código para depois fechar essa mesma página. HELP!!! Obrigado, uma vez mais. Grande abraço.
Shell "explorer /n,C:\MinhaPasta", vbNormalFocus
-
Boa tarde, vi que você orientou diversas pessoas e tem um ótimo conhecimento. Preciso muito de uma ajuda, pode me auxiliar?
Estou com um problema semelhante a alguns casos que vi aqui no fórum, porém gostaria de sobrescrever uma determinada linha. Eu sei onde ela se encontra por número de linha e também por texto, mas não sei como posso substituir. Alguém pode me ajudar??
Tenho um arquivo cps onde preciso substituir estas linhas:
<setting name="authorization_username" value="789"/> ->> linha 92 do arquivo
<setting name="display_name" value="789"/> ->> linha 98 do arquivo
<setting name="username" value="789"/> ->> linha 155 do arquivo
E alterar pelo valor que o usuário insere no script. O Script que tenho é o seguinte:
strInput = InputBox ("Digite seu ramal")
Const FOR_READING = 1
Const FOR_WRITING = 2
Set wshShell = CreateObject( "WScript.Shell" )
strFileName = wshShell.ExpandEnvironmentStrings( "%userprofile%" ) & "\AppData\Local\CounterPath\RegNow Enhanced\default_user\settings.cps"
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objTS = objFS.OpenTextFile(strFileName, FOR_READING)
strContents = objTS.ReadAll
objTS.Close
Set objTS = objFS.OpenTextFile(strFileName, FOR_WRITING)
strContents = Replace(strContents, "789", strInput)
objTS.WriteLine strContents
objTS.Close
Até então ele funciona, porém ele deve rodar com mais usuários e o valor não vai ser sempre "789", deverá ser o valor que existe dentro daquele arquivo e naquela variável.
Por exemplo se value for 1000 e o usuário inserir 500, o script deverá alterar no arquivo o valor de 1000 para 500.
A minha dúvida é como alterar isso a partir do valor que possuo no arquivo, pois pelo replace eu consigo alterar a partir do valor que já estou passando no código.
Então pensei em substituir a linha por alguns parâmetros pré-definidos, e dentro de value colocar o strInput que o usuário digitou. Sou novata em vb e não consegui encontrar na internet.
Essa seria a melhor forma?
Pode me ajudar? -
Prezado Kuroi, boa noite!
Como você já me "salvou" diversas vezes, é que resolvi te pedir um socorro novamente. Abaixo estou enviando um código que era de um cadastro de receitas de culinária, e eu estou adaptando-o para cadastro de clientes. O que acontece? O programa anterior não aceita campos nulos, mas o atual, por ser um cadastro deve aceitar campos nulos. Gostaria de saber como modifico isso. O banco que estou usando é um Access. Antecipadamente agradeço pela sua atenção e gentileza. Frata.
Ah, só mais uma coisinha, eu até modifiquei a parte do código que avisa que existem campos vazios, mas aí dá erro quando vai salvar. Brigaduuuuuuuuu..!!!
'declarando os objetos necessários
'command e recordset para interagir com o BD
'e declarando variavel para utilizar msgbox
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
Dim vinfo As Integer
'chamando a sub que carrega a lista com os dados do BD
Private Sub Form_Load()
preenche_list
End Sub
'descarregando os objetos command e recordset quando
'fechar o form e limpando os arquivos temp criados
Private Sub Form_Unload(Cancel As Integer)
Set cmd = Nothing
Set rs = Nothing
Set cnnreceitas = Nothing
If Dir("c:*.tmp") <> "" Then
On Error Resume Next
Kill "c:*.tmp"
End If
End Sub
'quando der duplo click na lista
'filtra as informações no BD e joga nos campos
'para alterar
Private Sub List_receitas_DblClick()
With cmd
.ActiveConnection = cnnreceitas
.CommandType = adCmdText
.CommandText = "select * from receitas"
Set rs = .Execute
End With
With rs
.Filter = " receita like '" & List_receitas.Text & "'"
Frame_cadastro.Visible = True
Frame_Localizar.Visible = False
Toolbar1.Visible = False
Toolbar2.Visible = True
travar_campos
Text_cod = !cod
Text_receita = !receita
Text_ingredientes = !ingredientes
Text_preparo = !preparo
Text_email = !email
End With
End Sub
'codigo que faz a busca na List quando é digitado
'na text
Private Sub Text1_Change()
On Error GoTo trataerro
With cmd
.ActiveConnection = cnnreceitas
.CommandType = adCmdText
.CommandText = "select * from receitas"
Set rs = .Execute
End With
With rs
.Filter = " receita like '%" & Text1.Text & "%'"
If .BOF And .EOF Then
MsgBox ("Sequencia de caracteres não encontrado na lista")
Else
List_receitas = rs!receita
End If
End With
trataerro:
With Err
If .Number <> 0 Then
.Number = 0
End If
End With
End Sub
'faz as alterações entre as toolbar e os frames
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Index
Case 1
Toolbar1.Visible = False
Toolbar2.Visible = True
Frame_cadastro.Visible = True
Frame_Localizar.Visible = False
Case 2
Frame_Localizar.Visible = True
Text1.Text = ""
End Select
End Sub
'chama os procedimentos de gravar, inserir ou retornar
'para o outro frame
Private Sub Toolbar2_ButtonClick(ByVal Button As MSComctlLib.Button)