2016-08-26 1 views
-1

그래서 테이블 트랜잭션이있는 Access 데이터베이스가 있습니다. 테이블에 profit이라는 필터링 된 열이 월별로 있습니다.양식을 사용하여 msgbox에 입력 된 내용을 기반으로 특정 쿼리를 탐색하는 방법은 무엇입니까?

는 이미 팝업 메시지 상자 폼을 ​​만들 매월 총 이익 (예. 6월 7 월 8 월)

그래서 수를 계산하기 위해 몇 가지 질의를했고,로했다 상자에 달 번호를 입력하고 클릭하면 특정 검색어로 연결됩니까?

나는 그것이 좋은 생각이라고 생각하지만, 어떤 코멘트가 많은 appriciated 그래서 프로그래밍 프로그래밍에 대해 조금 알지!

답변

1

VBA의 InputBox 함수를 사용하여 팝업을 만들 수 있습니다. 쿼리가 데이터베이스에 이미있는 경우 해당 함수의 결과를 사용하여 열 쿼리를 결정할 수 있습니다. 또한

Public Sub OpenExistingQuery() 
    Dim intMonth As Integer 
    intMonth = InputBox("Please enter a month number:", "Enter Month Number") 
    DoCmd.OpenQuery "qryMonth" & intMonth, acViewNormal 
End Sub 


, 당신은 그것을 열 동적으로 쿼리를 작성하는 InputBox 함수의 결과를 사용하고, 수 : 예를 들어

Public Sub OpenDynamicQuery() 
    Const strQueryName As String = "qryDynamicMonth" 

    Dim db As DAO.Database: Set db = CurrentDb 
    Dim qdf As DAO.QueryDef 
    Dim intMonth As Integer 

    intMonth = InputBox("Please enter a month number:", "Enter Month Number") 

    On Error Resume Next 
    DoCmd.Close acQuery, strQueryName, acSaveNo 
    DoCmd.DeleteObject acQuery, strQueryName 
    On Error GoTo 0 

    Set qdf = db.CreateQueryDef(strQueryName) 
    qdf.SQL = "SELECT * FROM your_table_name WHERE your_monthnumber_column = " & intMonth 
    qdf.Close 

    DoCmd.OpenQuery strQueryName, acViewNormal 

    Set qdf = Nothing 
    Set db = Nothing 
End Sub 


은 위의 기능이 있습니다 "빠르고 지저분한"종류의 그들은 정말로 더 나은 오류 처리, 사용자 입력 위생 등을 필요로합니다. 그러나 당신이 아이디어를 얻었고, 스스로 해결할 수 있기를 바랍니다.

+0

도움 주신 분들께 너무 감사드립니다! – Frostless

관련 문제