Dúvidas MS Access

Microsoft Access-Gestão de despesas

Microsoft Access-Gestão de despesas

À dias instalei o microsoft money para controlar os meus gastos.
É interessante mas as categorias não são as melhores.
Por isso pensei em qualquer coisa em access.

Sabem de algum template para o efeito, ou sites onde os procurar??

A ideia é fazer mais ou menos o que aparece no extrato do banco, mas classifico as despesas com outras categorias:
Alimentação
Empréstimo
Combustíveis
Etc

No final do mês ou do ano faço um relatório com uma análise daquilo que ganhei e gastei.

Se alguém tiver alguma base de dados feita também pode servir.
 
Last edited:
Tenho aqui uma duvida:

Fiz uma base de dados aqui para o trabalho... coisa simples e sem grande ciência (4 formulários, 6 consultas, 6 relatorios, etc...), contudo o pessoal que tenho aqui é um pedaço (pra não dizer muito) maçarico em PC's...

Queria "fechar" a BD, contudo, premindo a tecla "shift" permite acesso total e queria prevenir já esse problema... Já pesquisei uns códigos VBA na net, mas a realidade é que não fazem nada!

Experimentei com uma combinação de 2 códigos:

Code:
Public Function SetProperties(strPropName As String, varPropType As Variant, varPropValue As Variant) As Integer
On Error GoTo Err_SetProperties
    
    'Dim db As Database, prp As Property
    Dim db As DAO.Database, prp As DAO.Property
    
    Set db = CurrentDb
    db.Properties(strPropName) = varPropValue
    SetProperties = True
    Set db = Nothing
    
Exit_SetProperties:
    Exit Function
    
Err_SetProperties:
    If Err = 3270 Then 'Property not found
        Set prp = db.CreateProperty(strPropName, varPropType, varPropValue)
        db.Properties.Append prp
        Resume Next
    Else
        SetProperties = False
        MsgBox "Runtime Error # " & Err.Number & vbCrLf & vbLf & Err.Description
        Resume Exit_SetProperties
    End If
    
End Function
Code:
Private Sub bDisableBypassKey_Click()
On Error GoTo Err_bDisableBypassKey_Click
    
    Dim strInput As String
    Dim strMsg As String
    
    Beep
    strMsg = "Do you want to enable the Bypass Key?" & vbCrLf & vbLf & "Please key the programmer's password to enable the Bypass Key."
    strInput = InputBox(Prompt:=strMsg, Title:="Disable Bypass Key Password")
    
    If strInput = "TypeYourPasswordHere" Then
        SetProperties "AllowBypassKey", dbBoolean, True
        Beep
        MsgBox "The Bypass Key has been enabled." & vbCrLf & vbLf & "The Shift key will allow the users to bypass the startup options the next time the database is opened.", vbInformation, "Set Startup Properties"
    Else
        Beep
        SetProperties "AllowBypassKey", dbBoolean, False
        MsgBox "Incorrect ''AllowBypassKey'' Password!" & vbCrLf & vbLf & "The Bypass Key was disabled." & vbCrLf & vbLf & "The Shift key will NOT allow the users to bypass the startup options the next time the database is opened.", vbCritical, "Invalid Password"
        Exit Sub
    End If
    
Exit_bDisableBypassKey_Click:
    Exit Sub
    
Err_bDisableBypassKey_Click:
    MsgBox "Runtime Error # " & Err.Number & vbCrLf & vbLf & Err.Description
    Resume Exit_bDisableBypassKey_Click
    
End Sub
Continua sem fazer nada, ou seja, a tecla "shift" permite o acesso completo...


e outra coisa é:
Quando inicio a BD (sem a tecla "shift") nunca aparece Maximizada... Não há maneira de resolver isto??!

bati na parede! [8b]

PS: A BD tá em formato 2002-2003
 
Last edited:
Viva,

Para controlar o estado da janela da base de dados utilize o seguinte código:

(colocar o código num módulo)

'************ Code Start **********
' This code was originally written by Dev Ashish.
' It is not to be altered or distributed,
' except as part of an application.
' You are free to use it in any application,
' provided the copyright notice is left unchanged.
'
' Code Courtesy of
' Dev Ashish
'
Global Const SW_HIDE = 0
Global Const SW_SHOWNORMAL = 1
Global Const SW_SHOWMINIMIZED = 2
Global Const SW_SHOWMAXIMIZED = 3


Private Declare Function apiShowWindow Lib "user32" _
Alias "ShowWindow" (ByVal hwnd As Long, _
ByVal nCmdShow As Long) As Long

Function fSetAccessWindow(nCmdShow As Long)
'Usage Examples
'Maximize window:
' ?fSetAccessWindow(SW_SHOWMAXIMIZED)
'Minimize window:
' ?fSetAccessWindow(SW_SHOWMINIMIZED)
'Hide window:
' ?fSetAccessWindow(SW_HIDE)
'Normal window:
' ?fSetAccessWindow(SW_SHOWNORMAL)
'
Dim loX As Long
Dim loForm As Form
On Error Resume Next
Set loForm = Screen.ActiveForm
If Err <> 0 Then 'no Activeform
If nCmdShow = SW_HIDE Then
MsgBox "Cannot hide Access unless " _
& "a form is on screen"
Else
loX = apiShowWindow(hWndAccessApp, nCmdShow)
Err.Clear
End If
Else
If nCmdShow = SW_SHOWMINIMIZED And loForm.Modal = True Then
MsgBox "Cannot minimize Access with " _
& (loForm.Caption + " ") _
& "form on screen"
ElseIf nCmdShow = SW_HIDE And loForm.PopUp <> True Then
MsgBox "Cannot hide Access with " _
& (loForm.Caption + " ") _
& "form on screen"
Else
loX = apiShowWindow(hWndAccessApp, nCmdShow)
End If
End If
fSetAccessWindow = (loX <> 0)
End Function

'************ Code End **********

Num módulo chamado "Autoexec" (penso que é assim:sh)) confirme no help do access executar algo do género:

Sub autoexec

fSetAccessWindow(SW_SHOWMAXIMIZED)

end sub

Para desabilitar a tecla "shift" o código que tem é o necessário. O cuidado que tem que ter é criar um formulário (minha sugestão) eventualmente protegido com uma password, e criar 2 botões, um para desabilitar o tecla e o 2º para habilitar caso necessite de fazer alterações à posteriori.

De qualquer modo aconselho a fazer uma cópia de segurança antes de tentar desabilitar a tecla shift até entender como funciona a função.

Também sugiro o seguinte site (de onde tirer o código acima transcrito) para futuras consultas: The Access Web

Cumprimentos,
 
Ajuda pf!

Quero alimentar uma tabela através de um formulário.
Imaginem um tabela de clientes de uma loja, com nome, telemóvel, morada, etc..

Através de um click num botão, quero importar os dados que preenchi no formulário para a tabela.
Simples não?

Help pf..tou a ficar maluco
 
Back
Top