Access에서 파일 이름의 일부로 사용되는 사용자 정의 매개 변수
문제
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에서.