Access에서 파일 이름의 일부로 사용되는 사용자 정의 매개 변수

StackOverflow https://stackoverflow.com/questions/439815

  •  22-07-2019
  •  | 
  •  

문제

Excel 형식으로 보고서를 출력하는 Access 2007 데이터베이스가 있으며 보고서는 사용자가 선택한 날짜 매개 변수에 따라 다릅니다. 이 매개 변수는 팝업 캘린더가있는 TextBox (Text100)를 통해 선택됩니다. 텍스트 상자 (Text100)의 날짜를 파일 이름의 일부로 사용하고 싶습니다. Transferspreadsheet 메소드를 사용하여 내보내기를 만들고 있지만 열 헤더가 필요하지 않습니다. 파일이 생성되면 코드가 파일을 열고 헤더를 삭제합니다. 또한 현재 코드는 파일 이름에서 오늘 날짜를 사용하는 것입니다. 파일 이름은 팝업 캘린더에서 텍스트 상자에서 사용자가 선택한 날짜를 반영해야합니다.

좋아 여기 코드가 있습니다.

Sub Branch298nohdr()


 Dim Filename As String
 Dim Path As String
 Dim Branch As Integer
 Dim Text100 As Date
 Dim xl


    Branch = "298"
    Path = "Path" & Branch & "\"
    Filename = "Identity Report " & Branch & " " & _
                        Replace(Text100, ":", " ") & ".xls"



If Dir(Path & Filename) <> "" Then

    MsgBox "File has been created already"

If Dir(Path & Filename) <> "" Then

    GoTo 53

End If

Else


    Set xl = CreateObject("excel.application")


    TempVars.Add "branchnum", Branch    
    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel8, _
            "queryname", Path & Filename, False
    xl.workbooks.Open Path & Filename

     With xl

          .Rows("1:1").entirerow.Delete
            .Columns("L:L").select
            .Selection.NumberFormat = "0"
          .range("a1").select
            xl.workbooks(1).Close Savechanges:=True

            xl.Quit
    Set xl = Nothing
53
    MsgBox "Done!"
    End With

    TempVars.Remove "branchnum"
End If

Branch298nohdr_Exit:
    Exit Sub



End Sub

텍스트 100은 사용자가 팝업 캘린더를 통해 날짜를 선택하는 곳입니다. 이 날짜를 파일 이름의 일부로 사용하고 싶습니다. 현재 Text100을 파일 이름의 일부로 사용하고 있으며 오전 12 시로 참조 된 다음 파일 이름에 추가합니다. 나는 이것이 나의 의도를 정리하기를 바랍니다.

텍스트 100은 개방 양식에 설정된 다음 여러 가지 또는 모든 분기 사이에서 선택할 수있는 몇 가지 버튼이 있습니다.

도움이 되었습니까?

해결책

명백한 질문은, Text100이 어디에서 먼저 설정됩니까?

또 다른 스타일의 의견은 더 낫습니다

goto ExitSub
'...
ExitSub: 

그런 다음 "Goto 53" - 조금 더 의미가 있습니다.

그 속도로, IF 문을 벗어난 "완료된"메시지를 이동하는 것이 더 나을 것이며, Tempvars는 목적이없는 것 같습니다. 제거하십시오.

편집하다:

Text100이 양식의 텍스트 상자인지, 다음을 읽는 줄인지 추정합니다.

Dim Text100 As Date

코드에서 해당 참조를 무시할 것입니다.

코드에서 해당 텍스트 상자를 참조하는 경우 다음과 같은 방식으로 수행해야합니다.

foo = me.Text100
' or
foo = Forms!FormName.Text100

다른 팁

질문이 무엇인지 정확히 결정하는 것은 조금 어렵지만 "텍스트 상자의 내용을 내보내기 파일 이름으로 어떻게 사용합니까?" 코드 어딘가에있는 것처럼 들립니다. filename의 현재 날짜를 사용하기 위해 끝에 태그가 붙은 파일 이름에 대한 문자열을 만듭니다. '& now ()'를 '& textbox.value'로 간단히 바꿀 수 있습니까?

JD Long은 귀하의 게시물에서 질문을보기가 어렵다고 말했습니다. 어쩌면 다시 편집해야 할 수도 있습니다.

그러나 일반적으로 파일 이름으로 입력을 사용하기 전에 사용자가 입력 한 특수 문자를 피해야합니다.

다음 예약 문자는 허용되지 않습니다.

< > : " / \ | ? *

Windows에서 파일 이름 지정에 대한 자세한 내용은 다음을 참조하십시오. 파일 또는 디렉토리 이름 지정 MSDN에서.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top