I have my form where each records image displays as you scroll through the records. I want to add a control similar to the file dialog control, where users can browse to an image file on their machine, and then preview it and Update it.
Just as the title describes, I can't seem to find a solution to be able to link the front-end to the back-end tables through the common file dialog when the backend is an accdb file that is password encrypted.
See the example attached. Here it should work just fine per the Article at :
http://support.microsoft.com/kb/181076
I've found it works fine without a password encrypted back-end but not with a password encrypted back-end.
Anyone have any ideas? It would be nice to use this feature in Access as well as automating the relinking.
I am trying to add a common dialog to my form from the toolbox and get the following error 'you dont have the license required to use this ActiveX control. Is there any way I can sort this out? I am using Access 2002. I am getting desperate and any help would be much appreciated
Is there anyway to put common dialog box in MS Access Form. There is an option from ActiveX controls icon, but gives an error message, saying I do not have licence to use it ?
I recently upgraded a DB from 2003 to 2013 and ran into the following problem.
I have a button that opens a file dialog box and allows the user to upload a file to a predetermined location (and store the address as a hyperlink). I borrowed this code from someone else on here and modified it slightly.
In any case, the button still works, but now when it opens it doesn't have an option for "All files" under file types. So I can upload MS Office files, text files, etc., but not PDF files which are by far the most common types my users upload.
Here's my code and a screenshot is attached.
Private Sub Command35_Click() Dim dd As Integer Dim fileDump As FileDialog Set fileDump = Application.FileDialog(msoFileDialogOpen) dd = fileDump.Show
I need code for save dialog file ,and select the file from textbox and save it to the selected location.i have only this code and i dont know what else i can do with this because it just opens the save file dialog !
I have a field in a form to which I wish to be able to browse to a particular PDF file. This location is then to be a hyperlink that when clicked upon, it will open the chosen file.
I have seen a thread already for file browsing, but it said to look at the VBA code, which I have no idea what it means :(
I used the suggested code from this forum to import a file with the open file dialog box. It works great to that point, but how do I specify which table I want it to populate with this data?? Thanks!
Here's the code:
vb Code: Original - vb Code Type tagOPENFILENAMElStructSize As LonghwndOwner As LonghInstance As LongstrFilter As StringstrCustomFilter As StringnMaxCustFilter As LongnFilterIndex As LongstrFile As StringnMaxFile As LongstrFileTitle As StringnMaxFileTitle As LongstrInitialDir As StringstrTitle As StringFlags As LongnFileOffset As IntegernFileExtension As IntegerstrDefExt As StringlCustData As LonglpfnHook As LonglpTemplateName As StringEnd TypeDeclare Function aht_apiGetOpenFileName Lib "comdlg32.dll" _Alias "GetOpenFileNameA" (OFN As tagOPENFILENAME) As BooleanDeclare Function aht_apiGetSaveFileName Lib "comdlg32.dll" _Alias "GetSaveFileNameA" (OFN As tagOPENFILENAME) As BooleanDeclare Function CommDlgExtendedError Lib "comdlg32.dll" () As LongGlobal Const ahtOFN_READONLY = &H1Global Const ahtOFN_OVERWRITEPROMPT = &H2Global Const ahtOFN_HIDEREADONLY = &H4Global Const ahtOFN_NOCHANGEDIR = &H8Global Const ahtOFN_SHOWHELP = &H10' You won't use these.'Global Const ahtOFN_ENABLEHOOK = &H20'Global Const ahtOFN_ENABLETEMPLATE = &H40'Global Const ahtOFN_ENABLETEMPLATEHANDLE = &H80Global Const ahtOFN_NOVALIDATE = &H100Global Const ahtOFN_ALLOWMULTISELECT = &H200Global Const ahtOFN_EXTENSIONDIFFERENT = &H400Global Const ahtOFN_PATHMUSTEXIST = &H800Global Const ahtOFN_FILEMUSTEXIST = &H1000Global Const ahtOFN_CREATEPROMPT = &H2000Global Const ahtOFN_SHAREAWARE = &H4000Global Const ahtOFN_NOREADONLYRETURN = &H8000Global Const ahtOFN_NOTESTFILECREATE = &H10000Global Const ahtOFN_NONETWORKBUTTON = &H20000Global Const ahtOFN_NOLONGNAMES = &H40000' New for Windows 95Global Const ahtOFN_EXPLORER = &H80000Global Const ahtOFN_NODEREFERENCELINKS = &H100000Global Const ahtOFN_LONGNAMES = &H200000Function TestIt()Dim strFilter As StringDim lngFlags As LongstrFilter = ahtAddFilterItem(strFilter, "Access Files (*.mda, *.mdb)", _"*.MDA;*.MDB")strFilter = ahtAddFilterItem(strFilter, "dBASE Files (*.dbf)", "*.DBF")strFilter = ahtAddFilterItem(strFilter, "Text Files (*.txt)", "*.TXT")strFilter = ahtAddFilterItem(strFilter, "All Files (*.*)", "*.*")MsgBox "You selected: " & ahtCommonFileOpenSave(InitialDir:="C:", _Filter:=strFilter, FilterIndex:=3, Flags:=lngFlags, _DialogTitle:="Hello! Open Me!")' Since you passed in a variable for lngFlags,' the function places the output flags value in the variable.Debug.Print Hex(lngFlags)End FunctionFunction GetOpenFile(Optional varDirectory As Variant, _Optional varTitleForDialog As Variant) As Variant' Here's an example that gets an Access database name.Dim strFilter As StringDim lngFlags As LongDim varFileName As Variant' Specify that the chosen file must already exist,' don't change directories when you're done' Also, don't bother displaying' the read-only box. It'll only confuse people.lngFlags = ahtOFN_FILEMUSTEXIST Or _ahtOFN_HIDEREADONLY Or ahtOFN_NOCHANGEDIRIf IsMissing(varDirectory) ThenvarDirectory = ""End IfIf IsMissing(varTitleForDialog) ThenvarTitleForDialog = ""End If' Define the filter string and allocate space in the "c"' string Duplicate this line with changes as necessary for' more file templates.strFilter = ahtAddFilterItem(strFilter, _"Access (*.mdb)", "*.MDB;*.MDA")' Now actually call to get the file name.varFileName = ahtCommonFileOpenSave( _OpenFile:=True, _InitialDir:=varDirectory, _Filter:=strFilter, _Flags:=lngFlags, _DialogTitle:=varTitleForDialog)If Not IsNull(varFileName) ThenvarFileName = TrimNull(varFileName)End IfGetOpenFile = varFileNameEnd FunctionFunction ahtCommonFileOpenSave( _Optional ByRef Flags As Variant, _Optional ByVal InitialDir As Variant, _Optional ByVal Filter As Variant, _Optional ByVal FilterIndex As Variant, _Optional ByVal DefaultExt As Variant, _Optional ByVal FileName As Variant, _Optional ByVal DialogTitle As Variant, _Optional ByVal hwnd As Variant, _Optional ByVal OpenFile As Variant) As Variant' This is the entry point you'll use to call the common' file open/save dialog. The parameters are listed' below, and all are optional.'' In:' Flags: one or more of the ahtOFN_* constants, OR'd together.' InitialDir: the directory in which to first look' Filter: a set of file filters, set up by calling' AddFilterItem. See examples.' FilterIndex: 1-based integer indicating which filter' set to use, by default (1 if unspecified)' DefaultExt: Extension to use if the user doesn't enter one.' Only useful on file saves.' FileName: Default value for the file name text box.' DialogTitle: Title for the dialog.' hWnd: parent window handle' OpenFile: Boolean(True=Open File/False=Save As)' Out:' Return Value: Either Null or the selected filenameDim OFN As tagOPENFILENAMEDim strFileName As StringDim strFileTitle As StringDim fResult As Boolean' Give the dialog a caption title.If IsMissing(InitialDir) Then InitialDir = CurDirIf IsMissing(Filter) Then Filter = ""If IsMissing(FilterIndex) Then FilterIndex = 1If IsMissing(Flags) Then Flags = 0&If IsMissing(DefaultExt) Then DefaultExt = ""If IsMissing(FileName) Then FileName = ""If IsMissing(DialogTitle) Then DialogTitle = ""If IsMissing(hwnd) Then hwnd = Application.hWndAccessAppIf IsMissing(OpenFile) Then OpenFile = True' Allocate string space for the returned strings.strFileName = Left(FileName & String(256, 0), 256)strFileTitle = String(256, 0)' Set up the data structure before you call the functionWith OFN.lStructSize = Len(OFN).hwndOwner = hwnd.strFilter = Filter.nFilterIndex = FilterIndex.strFile = strFileName.nMaxFile = Len(strFileName).strFileTitle = strFileTitle.nMaxFileTitle = Len(strFileTitle).strTitle = DialogTitle.Flags = Flags.strDefExt = DefaultExt.strInitialDir = InitialDir' Didn't think most people would want to deal with' these options..hInstance = 0'.strCustomFilter = ""'.nMaxCustFilter = 0.lpfnHook = 0'New for NT 4.0.strCustomFilter = String(255, 0).nMaxCustFilter = 255End With' This will pass the desired data structure to the' Windows API, which will in turn it uses to display' the Open/Save As Dialog.If OpenFile ThenfResult = aht_apiGetOpenFileName(OFN)ElsefResult = aht_apiGetSaveFileName(OFN)End If' The function call filled in the strFileTitle member' of the structure. You'll have to write special code' to retrieve that if you're interested.If fResult Then' You might care to check the Flags member of the' structure to get information about the chosen file.' In this example, if you bothered to pass in a' value for Flags, we'll fill it in with the outgoing' Flags value.If Not IsMissing(Flags) Then Flags = OFN.FlagsahtCommonFileOpenSave = TrimNull(OFN.strFile)ElseahtCommonFileOpenSave = vbNullStringEnd IfEnd FunctionFunction ahtAddFilterItem(strFilter As String, _strDescription As String, Optional varItem As Variant) As String' Tack a new chunk onto the file filter.' That is, take the old value, stick onto it the description,' (like "Databases"), a null character, the skeleton' (like "*.mdb;*.mda") and a final null character.If IsMissing(varItem) Then varItem = "*.*"ahtAddFilterItem = strFilter & _strDescription & vbNullChar & _varItem & vbNullCharEnd FunctionPrivate Function TrimNull(ByVal strItem As String) As StringDim intPos As IntegerintPos = InStr(strItem, vbNullChar)If intPos > 0 ThenTrimNull = Left(strItem, intPos - 1)ElseTrimNull = strItemEnd IfEnd FunctionPrivate Sub Command20_Click()Dim strFilter As StringDim strInputFileName As StringstrFilter = ahtAddFilterItem(strFilter, "CSV Files (*.csv)", "*.csv")strInputFileName = ahtCommonFileOpenSave( _Filter:=strFilter, OpenFile:=True, _DialogTitle:="Please select an input file...", _Flags:=ahtOFN_HIDEREADONLY)End Sub'This code was originally written by Ken Getz.'It is not to be altered or distributed,'except as part of an application.'You are free to use it in any application,'provided the copyright notice is left unchanged.'' Code courtesy of:' Microsoft Access 95 How-To' Ken Getz and Paul Litwin' Waite Group Press, 1996 Type tagOPENFILENAMElStructSize As LonghwndOwner As LonghInstance As LongstrFilter As StringstrCustomFilter As StringnMaxCustFilter As LongnFilterIndex As LongstrFile As StringnMaxFile As LongstrFileTitle As StringnMaxFileTitle As LongstrInitialDir As StringstrTitle As StringFlags As LongnFileOffset As IntegernFileExtension As IntegerstrDefExt As StringlCustData As LonglpfnHook As LonglpTemplateName As StringEnd Type Declare Function aht_apiGetOpenFileName Lib "comdlg32.dll" _Alias "GetOpenFileNameA" (OFN As tagOPENFILENAME) As Boolean Declare Function aht_apiGetSaveFileName Lib "comdlg32.dll" _Alias "GetSaveFileNameA" (OFN As tagOPENFILENAME) As BooleanDeclare Function CommDlgExtendedError Lib "comdlg32.dll" () As Long Global Const ahtOFN_READONLY = &H1Global Const ahtOFN_OVERWRITEPROMPT = &H2Global Const ahtOFN_HIDEREADONLY = &H4Global Const ahtOFN_NOCHANGEDIR = &H8Global Const ahtOFN_SHOWHELP = &H10' You won't use these.'Global Const ahtOFN_ENABLEHOOK = &H20'Global Const ahtOFN_ENABLETEMPLATE = &H40'Global Const ahtOFN_ENABLETEMPLATEHANDLE = &H80Global Const ahtOFN_NOVALIDATE = &H100Global Const ahtOFN_ALLOWMULTISELECT = &H200Global Const ahtOFN_EXTENSIONDIFFERENT = &H400Global Const ahtOFN_PATHMUSTEXIST = &H800Global Const ahtOFN_FILEMUSTEXIST = &H1000Global Const ahtOFN_CREATEPROMPT = &H2000Global Const ahtOFN_SHAREAWARE = &H4000Global Const ahtOFN_NOREADONLYRETURN = &H8000Global Const ahtOFN_NOTESTFILECREATE = &H10000Global Const ahtOFN_NONETWORKBUTTON = &H20000Global Const ahtOFN_NOLONGNAMES = &H40000' New for Windows 95Global Const ahtOFN_EXPLORER = &H80000Global Const ahtOFN_NODEREFERENCELINKS = &H100000Global Const ahtOFN_LONGNAMES = &H200000 Function TestIt()Dim strFilter As StringDim lngFlags As LongstrFilter = ahtAddFilterItem(strFilter, "Access Files (*.mda, *.mdb)", _"*.MDA;*.MDB")strFilter = ahtAddFilterItem(strFilter, "dBASE Files (*.dbf)", "*.DBF")strFilter = ahtAddFilterItem(strFilter, "Text Files (*.txt)", "*.TXT")strFilter = ahtAddFilterItem(strFilter, "All Files (*.*)", "*.*")MsgBox "You selected: " & ahtCommonFileOpenSave(InitialDir:="C:", _Filter:=strFilter, FilterIndex:=3, Flags:=lngFlags, _DialogTitle:="Hello! Open Me!")' Since you passed in a variable for lngFlags,' the function places the output flags value in the variable.Debug.Print Hex(lngFlags)End Function Function GetOpenFile(Optional varDirectory As Variant, _Optional varTitleForDialog As Variant) As Variant' Here's an example that gets an Access database name.Dim strFilter As StringDim lngFlags As LongDim varFileName As Variant' Specify that the chosen file must already exist,' don't change directories when you're done' Also, don't bother displaying' the read-only box. It'll only confuse people.lngFlags = ahtOFN_FILEMUSTEXIST Or _ahtOFN_HIDEREADONLY Or ahtOFN_NOCHANGEDIRIf IsMissing(varDirectory) ThenvarDirectory = ""End IfIf IsMissing(varTitleForDialog) ThenvarTitleForDialog = ""End If ' Define the filter string and allocate space in the "c"' string Duplicate this line with changes as necessary for' more file templates.strFilter = ahtAddFilterItem(strFilter, _"Access (*.mdb)", "*.MDB;*.MDA")' Now actually call to get the file name.varFileName = ahtCommonFileOpenSave( _OpenFile:=True, _InitialDir:=varDirectory, _Filter:=strFilter, _Flags:=lngFlags, _DialogTitle:=varTitleForDialog)If Not IsNull(varFileName) ThenvarFileName = TrimNull(varFileName)End IfGetOpenFile = varFileNameEnd Function Function ahtCommonFileOpenSave( _Optional ByRef Flags As Variant, _Optional ByVal InitialDir As Variant, _Optional ByVal Filter As Variant, _Optional ByVal FilterIndex As Variant, _Optional ByVal DefaultExt As Variant, _Optional ByVal FileName As Variant, _Optional ByVal DialogTitle As Variant, _Optional ByVal hwnd As Variant, _Optional ByVal OpenFile As Variant) As Variant' This is the entry point you'll use to call the common' file open/save dialog. The parameters are listed' below, and all are optional.'' In:' Flags: one or more of the ahtOFN_* constants, OR'd together.' InitialDir: the directory in which to first look' Filter: a set of file filters, set up by calling' AddFilterItem. See examples.' FilterIndex: 1-based integer indicating which filter' set to use, by default (1 if unspecified)' DefaultExt: Extension to use if the user doesn't enter one.' Only useful on file saves.' FileName: Default value for the file name text box.' DialogTitle: Title for the dialog.' hWnd: parent window handle' OpenFile: Boolean(True=Open File/False=Save As)' Out:' Return Value: Either Null or the selected filenameDim OFN As tagOPENFILENAMEDim strFileName As StringDim strFileTitle As StringDim fResult As Boolean' Give the dialog a caption title.If IsMissing(InitialDir) Then InitialDir = CurDirIf IsMissing(Filter) Then Filter = ""If IsMissing(FilterIndex) Then FilterIndex = 1If IsMissing(Flags) Then Flags = 0&If IsMissing(DefaultExt) Then DefaultExt = ""If IsMissing(FileName) Then FileName = ""If IsMissing(DialogTitle) Then DialogTitle = ""If IsMissing(hwnd) Then hwnd = Application.hWndAccessAppIf IsMissing(OpenFile) Then OpenFile = True' Allocate string space for the returned strings.strFileName = Left(FileName & String(256, 0), 256)strFileTitle = String(256, 0)' Set up the data structure before you call the functionWith OFN.lStructSize = Len(OFN).hwndOwner = hwnd.strFilter = Filter.nFilterIndex = FilterIndex.strFile = strFileName.nMaxFile = Len(strFileName).strFileTitle = strFileTitle.nMaxFileTitle = Len(strFileTitle).strTitle = DialogTitle.Flags = Flags.strDefExt = DefaultExt.strInitialDir = InitialDir' Didn't think most people would want to deal with' these options..hInstance = 0'.strCustomFilter = ""'.nMaxCustFilter = 0.lpfnHook = 0'New for NT 4.0.strCustomFilter = String(255, 0).nMaxCustFilter = 255End With' This will pass the desired data structure to the' Windows API, which will in turn it uses to display' the Open/Save As Dialog.If OpenFile ThenfResult = aht_apiGetOpenFileName(OFN)ElsefResult = aht_apiGetSaveFileName(OFN)End If ' The function call filled in the strFileTitle member' of the structure. You'll have to write special code' to retrieve that if you're interested.If fResult Then' You might care to check the Flags member of the' structure to get information about the chosen file.' In this example, if you bothered to pass in a' value for Flags, we'll fill it in with the outgoing' Flags value.If Not IsMissing(Flags) Then Flags = OFN.FlagsahtCommonFileOpenSave = TrimNull(OFN.strFile)ElseahtCommonFileOpenSave = vbNullStringEnd IfEnd Function Function ahtAddFilterItem(strFilter As String, _strDescription As String, Optional varItem As Variant) As String' Tack a new chunk onto the file filter.' That is, take the old value, stick onto it the description,' (like "Databases"), a null character, the skeleton' (like "*.mdb;*.mda") and a final null character. If IsMissing(varItem) Then varItem = "*.*"ahtAddFilterItem = strFilter & _strDescription & vbNullChar & _varItem & vbNullCharEnd Function Private Function TrimNull(ByVal strItem As String) As StringDim intPos As IntegerintPos = InStr(strItem, vbNullChar)If intPos > 0 ThenTrimNull = Left(strItem, intPos - 1)ElseTrimNull = strItemEnd IfEnd Function Private Sub Command20_Click() Dim strFilter As String Dim strInputFileName As String strFilter = ahtAddFilterItem(strFilter, "CSV Files (*.csv)", "*.csv")strInputFileName = ahtCommonFileOpenSave( _Filter:=strFilter, OpenFile:=True, _DialogTitle:="Please select an input file...", _Flags:=ahtOFN_HIDEREADONLY) End Sub 'This code was originally written by Ken Getz.'It is not to be altered or distributed,'except as part of an application.'You are free to use it in any application,'provided the copyright notice is left unchanged.'' Code courtesy of:' Microsoft Access 95 How-To' Ken Getz and Paul Litwin' Waite Group Press, 1996
I would like to put a cmdbutton on a form to open the File Dialog box directly from Access whereby users can search through folders and open a any file selected. I have searched the web and found a link:
http://www.mvps.org/access/api/api0001.htm
I have copied the code into a module and the code behind the cmdbutton but getting an error. Can anyone help me is finding a solution or an example? Thanks.
I have the following to code to let the user select a file.. It worked before but suddenly stopped working...I remember adding some reference but I dont remember exactly the name of the reference..
After I did this, I converted the database from 2000 - 2002/2003 ..back and forth...I did not change/remove any references.
I have access 2003 but my database is in 2000 format because my teammates have 2000.
Thanks in advance for the help.
------------------------------------------- Dim fDialog As Office.FileDialog Dim varFile As Variant
' Set up the File Dialog. Set fDialog = Application.FileDialog(msoFileDialogFilePicker)
With fDialog
' Allow user to make multiple selections in dialog box .AllowMultiSelect = False
' Set the title of the dialog box. .Title = "Please select a file"
' Clear out the current filters, and add our own. '.Filters.Clear ' .Filters.Add "All Files", "*.*" '.Filters.Add "Access Projects", "*.HTM" '.Filters.Add "Access Projects", "*.HTML" '.Filters.Add "Access Projects", "*.DOC" '.Filters.Add "Access Databases", "*.VST" '.Filters.Add "Access Databases", "*.VSD" '.Filters.Add "Access Databases", "*.TXT" '.Filters.Add "Access Databases", "*.MDB" '.Filters.Add "Access Projects", "*.XLS"
' Show the dialog box. If the .Show method returns True, the ' user picked at least one file. If the .Show method returns ' False, the user clicked Cancel. If .Show = True Then
'Loop through each file selected and add it to our list box. For Each varFile In .SelectedItems DocsPath_TB.Value = varFile Next
I have a problem. This problem is that when I generate the report, I want to show a save file dialog box. How can I do this and and retrict the files show to only "*.pdf" files. I tried it as follow:
Private Sub SaveFile_Click()
Set FDialog = Application.FileDialog(msoFileDialogSaveAs)
With FDialog .Filters.Add "Acrobat Files", "*.pdf" .Show End With
End Sub
error is araised when executing .Filters.Add "Acrobat Files", "*.pdf": Object doesnt support property or method.
I have the following code which successfully opens the dialog box with filters however when I add a function with an Excel import, the filters do not work at all (no files are shown even though they exist in the directory that's opened within the dialog box). If I manually type in the filter (i.e. *.x) it still shows the files.The function at the bottom was provided by cheekybuddha from another form, I'd be lost on getting the Excel file imported into Access.Here's the VBA code (the Function is also included at bottom):
Code: Private Sub Command0_Click() On Error GoTo PROC_ERR Dim strpathtofile As String Dim strTable As String, strBrowseMsg As String Dim strFilter As String, strInitialDirectory As String Dim blnHasFieldNames As Boolean
Ii have a database running on Access 10.0, I am using the insert hyperlink dialog box (access by Ctrl K) to allow users to insert a hyperlink to a file (could be any sort of file), into a text box.
The problem I have is most of the files are held many directories above where the database is (we have a BAD directory policy, 10's of folders within folders) and it gets a little painful to get the user to go up so many levels, due to the hyperlink dialog opening in the "current folder" view, ie where the db is located.
Simple quest, or so I thought. Can I change the default directory "Current Folder" that the dialog box starts in ?
I have already tried chdir"c:" but to no avail.......not that obvious then...
I want to retrieve some parameters from file, So for that i want to implement File Open Dialog in One of the form. File Open Dialong is available in Micrososft Common Dialog controls.
When i choose Microsoft Common dialog control from extra toolbars, it gives me error saying that "You don't have licence for using Common Control ActiveX.
I am trying to display an open file dialog window so that the user can pick up a file. I wish the window to show a specific folder. How can I do this? The code I am using is below. The parameter InitialFileName has no effect on the outcome.
Code: Function GetFileName(strPath As String, imtype As String) As String On Error GoTo Err_GetFileName Dim Dlg As FileDialog Dim sfl As FileDialogSelectedItems Dim sflitem As Variant Set Dlg = Application.FileDialog(msoFileDialogFilePicker)
I have a database that logs complaints. I've added a field to calculate the age of a complaint based on the date received and the date resloved. To update this field I have an update query that runs after someone closes an update form. My problem is that I recieve two dialog boxes one that confirms that I'm will be updating the table and another that tells me how many rows were updated. I would not like those boxes to appear so the update would look transparent.
Can someone tell me how to get that inline frame inside the message for the code so it doesnt take up too much spaces.
I could not get the MS Access database to update from ASP when a user update the moditfied information. When clicking the 'save' button, it suppose to update the changes. Also, the 'delete' button is suppose to delete a record but it doesn't delete. It just reload the page with the original information and no error message is produced. I checked the permission of the database to 'read/write' but didnt seem to have any affect. Then I checked the code to match up to the field name in the database. I am moditfing the code that was used for same concept except this will have long list of people.
[CODE]<%
dim RstSave 'As ADODB.Recordset dim frmItem 'As Request.Form.Item
'*** Debug Line ***'Response.Write Request.Form("cmdTopic")
select case Request.Form("cmdTopic")
'***** Paragraph Text *****
case "Edit Paragraph Text"
if len(Request.Form("cmdSaveRec")) > 0 then
Set RstSave = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM tblText ORDER BY ID;"
RstSave.Open SQL, Conn, 3, 2
if RstSave.BOF and RstSave.EOF then
else RstSave.MoveFirst 'Step thru Recordset '*** Debug Line ***'Response.Write "Starting Recordset<BR>" do While not RstSave.EOF 'Check each Item returned by the Form '*** Debug Line ***'Response.Write "ID: " & RstSave("ID") & "<BR>" for each frmItem in Request.Form 'Is it a Record? '*** Debug Line ***'Response.Write "IsNumeric Results: " & Isnumeric(mid(frmItem,6)) & "<BR>" if isnumeric(mid(frmItem,6)) then 'Does it Match the Current Record? '*** Debug Line ***'Response.Write "ID: " & RstSave("ID") & "-" & mid(frmItem,6) & " = 0 ?: " & (RstSave("ID") - Cint(mid(frmItem,6))) = 0 & " <BR>" if RstSave("ID") = Cint(mid(frmItem,6)) then '*** Debug Line ***'Response.Write "Saving Record with ID: " & RstSave("ID") & " | " & Request.Form(frmitem) & " | " & Clng(Request.Form("txtHT" & mid(frmitem,6))) & "<BR>" 'Write the Form Field to the Recordset RstSave("Text") = Request.Form("txtID" & mid(frmitem,6)) RstSave.Update end if end if next RstSave.MoveNext loop end if RstSave.Close set RstSave = Nothing end if
'***** Patient Services *****
case "Edit Patient Services"
if len(Request.Form("cmdSaveRec")) > 0 then
Set RstSave = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM tblPatientServ ORDER BY ID;"
RstSave.Open SQL, Conn, 3, 2
if RstSave.BOF and RstSave.EOF then
else RstSave.MoveFirst 'Step thru Recordset '*** Debug Line ***'Response.Write "Starting Recordset<BR>" do While not RstSave.EOF 'Check each Item returned by the Form '*** Debug Line ***'Response.Write "ID: " & RstSave("ID") & "<BR>" for each frmItem in Request.Form 'Is it a Record? '*** Debug Line ***'Response.Write "IsNumeric Results: " & Isnumeric(mid(frmItem,10)) & "<BR>" if isnumeric(mid(frmItem,10)) then 'Does it Match the Current Record? '*** Debug Line ***'Response.Write "ID: " & RstSave("ID") & "-" & mid(frmItem,6) & " = 0 ?: " & (RstSave("ID") - Cint(mid(frmItem,6))) = 0 & " <BR>" if RstSave("ID") = Cint(mid(frmItem,10)) then '*** Debug Line ***'Response.Write "Saving Record with ID: " & RstSave("ID") & " | " & Request.Form(frmitem) & " | " & Clng(Request.Form("txtHT" & mid(frmitem,6))) & "<BR>" 'Write the Form Field to the Recordset RstSave("Service") = trim(Request.Form("txtServID" & mid(frmitem,10))) RstSave("Description") = trim(Request.Form("txtID" & mid(frmitem,10))) RstSave.Update end if end if next RstSave.MoveNext loop end if RstSave.Close set RstSave = Nothing end if
'***** Physician Directory *****
case "Edit Physician Directory"
if len(Request.Form("cmdSaveRec")) > 0 then
Set RstSave = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM tblDoctor ORDER BY ID;"
RstSave.Open SQL, Conn, 3, 2
if RstSave.BOF and RstSave.EOF then
else RstSave.MoveFirst 'Step thru Recordset '*** Debug Line ***'Response.Write "Starting Recordset<BR>" do While not RstSave.EOF 'Check each Item returned by the Form '*** Debug Line ***'Response.Write "ID: " & RstSave("ID") & "<BR>" for each frmItem in Request.Form 'Is it a Record? '*** Debug Line ***'Response.Write "IsNumeric Results: " & Isnumeric(mid(frmItem,13)) & "<BR>" if isnumeric(mid(frmItem,13)) then 'Does it Match the Current Record? '*** Debug Line ***'Response.Write "ID: " & RstSave("ID") & "-" & mid(frmItem,13) & " = 0 ?: " & (RstSave("ID") - Cint(mid(frmItem,13))) = 0 & " <BR>" if RstSave("ID") = Cint(mid(frmItem,13)) then '*** Debug Line ***'Response.Write "Saving Record with ID: " & RstSave("ID") & " | " & Request.Form(frmitem) & " | " & Clng(Request.Form("txtHT" & mid(frmitem,13))) & "<BR>" 'Write the Form Field to the Recordset RstSave("LName") = trim(Request.Form("txtLName" & mid(frmitem,13))) RstSave("FName") = trim(Request.Form("txtFName" & mid(frmitem,13))) RstSave("Title") = trim(Request.Form("txtTitle" & mid(frmitem,13))) RstSave("DEPT") = trim(Request.Form("txtDEPT" & mid(frmitem,13))) RstSave("Phone") = trim(Request.Form("txtPhone" & mid(frmitem,13))) RstSave.Update end if end if next RstSave.MoveNext loop end if RstSave.Close set RstSave = Nothing end if
I did a search on common access errors and other errors that you would want to trap and got the following results:
Cannot update. Database or object is read-only Operation must use an updateable query General error Unable to open registry key Could not find file Could not use '(unknown)'; file already in use Table 'tblTable' is exclusively locked by user 'Admin' on machine 'MyMachine' Too few parameters. Expected 1 Either BOF or EOF is True, or the current record has been deleted Item cannot be found in the collection corresponding to the requested name or ordinal The search key was not found in any record
If you know any extra errors, can you please add them to this list?
Is there a listing anywhere online for common regular expressions for validations rules? In other words, is there something that shows how to construct validation rules for things like phone numbers, addresses, postal/zip codes, serial numbers, math equations, etc. Two in particular that I'm looking for are phone numbers and postal/zip codes. Every time I try to wrap my head around the formula for a phone number (with area codes, an optional 1 in the begining, making sure no leading zeroes, making brackets around area codes optional, etc.) I only get a headache :mad: . I'll get it eventually, but a quick reference in the mean time and for future use would be very helpful.
I have 2 files with linking tables. Both are posted on the same network drive for the office to access. However some users have their drive link to drive E: and some to G:, etc. How do I get the file to automatically find what drive the user has and update the correct link in Linked Table Manager?
We keep a backend and a master frontend of a database on a network drive and distributed a .mde version of the frontend to the users who save a copy of it on their hard drive. There is a separate version table on the frontend and backend of the database for version comparsion. Whenever there is change on the master frontend, I shall change the version # on those tables and make a new .mde file on the network.
When user open their own mde frontend, there are scripts to check its version with the master frontend on the network and any mismatch will trigger off the following scripts (on the default form) to replace the old version with a new one from the network.
Private Sub Form_Load() Dim strFEMaster As String Dim strFE As String Dim strMasterLocation As String Dim strFilePath As String ' looks up the version of the front-end as listed in the backend
[code]....
This process works fine for everyone in Access 2010. However, these scripts appear to have conflicts with Win 7 when users upgraded to the O/S. They keep getting database unstable error message and the process fails to work. Whether we can change the scripts to make them compatible with Win 7?
I'm trying to import/merge/update a table from an xml file.To import I'm using the following code:
Code: Private Sub Command0_Click() Const acAppendData = 2 Set objAccess = CreateObject("Access.Application") objAccess.OpenCurrentDatabase "DATABASE LOCATION" objAccess.ImportXML "HTTP OF XML FILE", acAppendData End Sub
This works perfectly to import new records, however what I also need it to do is merge/update the data. So the xml file will contain the correct data and any amendments need to be made to the Access table.