いろいろ

いろいろなことを・・・

新規入力レコードの確定

2015-07-24 07:40:26 | ACCESS

ACCESSで新規入力レコードを帳票画面で作成してから、検索で詳細画面に移りたい時、帳票画面で編集中だとうまくIDが取得できずに移動できません

そんな時はマクロならメニューコマンドの実行で「最新の情報に更新」。VBAならMe.Refreshで編集レコードが更新されて、検索用のIDが確定される


エクセルのアプリケーションを起動する方法

2008-10-13 10:58:18 | ACCESS
ACCESS2007でexcelのアプリケーションを起動する方法

以前はACCESSCLUBというサイトのサンプルを使用していたが、2007ではエラーが発生するようになった。

Sub ExcelCreate()
Set MyExcel = CreateObject("excel.application")
'MyExcel.Workbooks.Open FileName:="C:\test.xls" '<---既存のエクセルブックを開く場合
MyExcel.Workbooks.Add '<---新しくエクセルを生成する場合
MyExcel.Visible = True
End Sub

ACCESSのフルパスファイル名からファイル名などを取り出す

2007-08-25 14:22:21 | ACCESS
ACCESSのフルパスファイル名からファイル名・拡張子名・ドライブ名・ディレクトリ名などを取り出す。
第一引数 ファイル名(フルパス)
戻り値1 strDrive as String[ドライブ名]
戻り値2 strDirectory as String[ディレクトリ名]
戻り値3 strFileName as String[ファイル名]
戻り値4 strExt as String[拡張子名]

参考ページ

--ここからプログラム
Option Compare Database

Public strDrive As String
Public strDirectory As String
Public strFileName As String
Public strExt As String

Public Function GetPathName(strFileFullPath As String)
Dim objFso As Object
Set objFso = CreateObject("Scripting.FileSystemObject")
With objFso
strDrive = .GetDriveName(strFileFullPath)
strDirectory = Mid$(.GetParentFolderName(strFileFullPath), Len(strDrive) + 1)
If Right$(strDirectory, 1) <> "\" Then strDirectory = strDirectory & "\"
strExt = .GetExtensionName(strFileFullPath)
If Len(strExt) > 0 Then strExt = "." & strExt
strFileName = .GetFileName(strFileFullPath)
End With
End Function

[販売管理]顧客別単価

2007-04-07 14:46:47 | ACCESS
商品の単価は同じ商品でも顧客別に違う場合があるので、顧客別商品マスタを持つ必要がある。
表示に関しては、顧客別の単価を優先して表示する。
できれば、顧客別単価があるのに標準単価が選択された場合、注意の表示が出るのが望ましい。

ACCESSメモ 入力のキャンセル

2007-01-03 12:13:57 | ACCESS
ACCESSで未入力処理をするとき、挿入前処理や更新前処理で挿入や更新をキャンセルするときは「cancel=true」でキャンセルできる。


Private Sub Form_BeforeInsert(Cancel As Integer)
  If Nz(Me!日付) = "" Then
    result = MsgBox("日付が入力されていません", vbCritical + vbOKOnly,
"未入力欄があります")
    DoCmd.GoToControl "日付" Cancel = True
  End If
End Sub