2017-06-23 19 views
1

イムをサブフォームが、すべて私はほとんどサブフォームオブジェクトを認識しているように見えるカントそれを様々なエラーを取得しています。私は私が考える午前最も近いは次のとおりです:VBAのエクスポートは、サブフォームをエクスポート]ボタンをしようとして

DoCmd.OutputTo acOutputForm, Me.Form.<Subform_name>.Name, acFormatXLSX, savefileas, True 

subform_nameがメインフォーム Subform_formソース形式でオブジェクト名です

サブフォームは、別のクエリから付属していませんが、レコードセットがあります親フォームのVBAから設定

このVBAでエラー2102である=「フォーム名は、スペルミス、または存在しない形を指します。」

savefileas =

Public Function savefileas() As String 
Dim fd As FileDialog, filename As String 

On Error GoTo ErrorHandler 

Set fd = Application.FileDialog(msoFileDialogSaveAs) 

If fd.Show = True Then 
    If fd.SelectedItems(1) <> vbNullString Then 
     filename = fd.SelectedItems(1) 
    End If 
Else 
    'Stop Code Execution for Null File String 
    End 
End If 
savefileas = filename & ".xlsx" 

'Cleanup 
Set fd = Nothing 
Exit Function 

ErrorHandler: 
Set fd = Nothing 
MsgBox "Error " & Err & ": " & Error(Err) 
End Function 
+0

「Me.Form. .Name」の「Me。 .SourceObject' instaed」を使ってみてください –

+0

ありがとうございました。しかし、表示されている一覧は表示されていません。レコードソースの親フォーム設定によってフィルタリングされます。私は、それが作成されたレコードのソースとネストされたサブフォームをプルするために設定されていると思います – user681413

答えて

1

私は私が望む結果を得る最も効率的な方法が、イムではないかもしれないが、私はアンドレから微調整するために今感謝をしたいどのようにこの作業を持っています。

同様のソリューションのために、このに来るかもしれない他の人を助けるために。私が望んでいた私の理想的な形式をしたCSVファイルへのエクスポート

イム。
[エクスポート]ボタン:その輸出のためにそのサブフォームのレコードセットIEを設定するたびに使用されたクエリを設定するように、オープン

Private Sub Form_Open(Cancel As Integer) 
Dim strSQL As String 
Dim export_query As QueryDef 
Dim db As Database 
Set db = CurrentDb 
strSQL = <sql statement as defined by set record code> 

<code that sets my subform record source> 

Set export_query = db.QueryDefs("Export_Query") 
export_query.SQL = strSQL  
End Sub 

Private Sub Command2_Click() 
DoCmd.TransferText acExportDelim, exportcsv, "export_query", savefileas, True 

End Sub 

は、その後、更新の各フィルタは、オープンでのコピーであります表示されているもの。

2

私はこれが機能するために起こっているとは思いません。

DoCmd.OutputToはその後、オブジェクトをスタンドアロンで開き、それをエクスポートしたいと考えています。
2番目のパラメータObjectNameはオブジェクト参照ではなくオブジェクト名です。

それも、あまり変更レコードとサブフォームに、すでに開いているオブジェクト上では動作しません。

良い方法は、サブフォームのレコードとの一時的なクエリ定義を作成することです。
このクエリをエクスポートします。

+0

私はすでにサブフォームのレコードのソースを設定するために本当にtempクエリを構築しているので、単にそれを輸出する必要があります。悪い実験と報告バック – user681413

+0

私に正しい方法を押してくれてありがとう、iveは他の人のために働くための完全なステップを投稿した – user681413

関連する問題