PDA

View Full Version : مبتدی: پیغام not a valid password هنگام باز کردن فرم



Honestvip
جمعه 09 فروردین 1392, 13:48 عصر
با سلام
بنده روی دیتابیس پسورد گذاشتم(اکسس 2007)
حالا هر فرمی که میخوام باز کنم پیغام not a valid password
فکر میکنم از طریق محیط کد نویسی باید پسورد دیتابیس رو تعریف کنم

از دوستان کسی هست کمک کنه ؟

morteza147
جمعه 09 فروردین 1392, 13:59 عصر
از کدوم برنامه به access وصل می شین
از طریق محیط کد نویسی یا از خصوصیات کانکشن باید پسورد دیتابیس رو بدین

Abbas Amiri
جمعه 09 فروردین 1392, 18:45 عصر
با سلام
بنده روی دیتابیس پسورد گذاشتم(اکسس 2007)
حالا هر فرمی که میخوام باز کنم پیغام not a valid password
فکر میکنم از طریق محیط کد نویسی باید پسورد دیتابیس رو تعریف کنم

از دوستان کسی هست کمک کنه ؟
سلام
این مشکل ممکنه برای جداول لینک شده بوجود بیاد نه برای فرم های همان فایل
شما بهتره یک فایل جدید ایجاد کنید و تمام اشیا فایل جاری رو به اون ایمپورت کنید و مجدد رمزگذاری کنید .

Honestvip
جمعه 09 فروردین 1392, 18:58 عصر
من جداول رو Split کردم و روشون پسورد گذاشتم
حالا چطوری پسورد رو برای فرمها تعریف کنم تا این پیغام رو نده ؟

من میخوام هر موقع فرمی باز شد لینک بشه به دیتابیس و پسور رو خود فرم از طریق کد بهش بده و کانکت بشه به جداول
وقتی فرم بسته میشه برای باز کردن دیتا بیس پسورد بخواد

Abbas Amiri
جمعه 09 فروردین 1392, 23:03 عصر
من جداول رو Split کردم و روشون پسورد گذاشتم
حالا چطوری پسورد رو برای فرمها تعریف کنم تا این پیغام رو نده ؟

من میخوام هر موقع فرمی باز شد لینک بشه به دیتابیس و پسور رو خود فرم از طریق کد بهش بده و کانکت بشه به جداول
وقتی فرم بسته میشه برای باز کردن دیتا بیس پسورد بخواد
فکر کنم مشکل برای فرمهای بایند شده است . شما باید تمام جداول لینک شده را حذف کنید و مجددا در Linked Table Manager انها را لینک کنید .
احتمال شما پسورد فایل Backend رو عوض کردید. برای همین خطای نادرست بودن رمز رو میگیره.

Honestvip
شنبه 10 فروردین 1392, 09:09 صبح
دوست عزیز من جدول ها رو Import میکنم ازم پسورد میخواد , میدم مشکلی نیست
و هر بار که برنامه باز و بسته بشه دیگه پسورد لازم نداره
اما نمیخوام این مدلی باشه
میخوام هر موقع فرم Load شد بره دیتابیس رو لینک کنه و پسورد بده بعد از بستن فرم دیتابیس از حالت لینک در بیاد
در کل بعد از بستن فرم کاربر دیتابیس رو نبینه

Honestvip
شنبه 10 فروردین 1392, 13:49 عصر
کدش رو پیدا کردم
فقط مشکل اینجاس اگه بخوام چندتا جدول با هم لینک بشن چطوری میشه ؟

Public Function MDMM_BuHstEvLogLinkCtl(sOp As String) As Boolean

Dim sFx As String: sFx = "MDMM_BuHstEvLogLinkCtl"

Select Case sOp
Case "UnLink"
On Error Resume Next
DoCmd.DeleteObject acTable, "CCode"
If Err.Number = 0 Or Err.Number = 7874 Then
'ignore; Err 0 means no error occurred, Err 7874 means object not found (nothing to delete)
Else
GoTo MDMM_BuHstEvLogLinkCtl_Error
End If

Case "Link"
'be sure link does not already exist ... call this same function with the UnLink op
Call MDMM_BuHstEvLogLinkCtl("UnLink")

'Now create the link ...
Dim sPath As String
On Error GoTo MDMM_BuHstEvLogLinkCtl_Error
sPath = "F:\Archive\3920105_be.accdb"
SendKeys "123": SendKeys "{ENTER}" ' ee is the password
DoCmd.TransferDatabase acLink, "Microsoft Access", sPath, acTable, "CCode", "CCode"
End Select

MDMM_BuHstEvLogLinkCtl_Exit:
Err.Clear
Exit Function

MDMM_BuHstEvLogLinkCtl_Error:
MsgBox "An unexpected error has occured!" & vbCrLf & vbCrLf & _
"Error Information --------------------" & vbCrLf & _
"Number: " & Err.Number & vbCrLf & _
"Description: " & Err.Description & vbCrLf & _
"Procedure: " & sFx & vbCrLf & _
"Operation: " & sOp & vbCrLf & vbCrLf & _
"PLEASE ... take a screen shot of this error message showing as much of the screen as possible and email it to the Database Administrator.", 48, "MASS Database Maintenance"
GoTo MDMM_BuHstEvLogLinkCtl_Exit

End Function

Abbas Amiri
شنبه 10 فروردین 1392, 15:12 عصر
سلام
چرا لقمه رو دور سر میچرخونید پنجره دیتابیس رو مخفی کنید تا کاربرها نتونند دسترسی داشته باشند . این خیلی راحت تره .


DoCmd.SelectObject acTable, , True
DoCmd.RunCommand acCmdWindowHide

Honestvip
پنج شنبه 15 فروردین 1392, 23:12 عصر
برادر این کاری که شما گفتین انجام بدم خوب طرف با شیف راحت میتونه به بانک دسترسی پیدا کنه

اما با کدهایی که گذاشتم وقتی فرم باز بشه جداول لینک میشه و با بسته شدن فرم آن لینک میشه

Abbas Amiri
جمعه 16 فروردین 1392, 00:51 صبح
برادر این کاری که شما گفتین انجام بدم خوب طرف با شیف راحت میتونه به بانک دسترسی پیدا کنه

اما با کدهایی که گذاشتم وقتی فرم باز بشه جداول لینک میشه و با بسته شدن فرم آن لینک میشه

اگر مشکلتون فقط جدولهاست ، آنها رو سوپرمخفی کنید.

عدم دسترسی به فیلد های table (http://barnamenevis.org/showthread.php?309017-%D8%B9%D8%AF%D9%85-%D8%AF%D8%B3%D8%AA%D8%B1%D8%B3%DB%8C-%D8%A8%D9%87-%D9%81%DB%8C%D9%84%D8%AF-%D9%87%D8%A7%DB%8C-table)

Honestvip
جمعه 16 فروردین 1392, 07:41 صبح
الان این راه حل مشکلی داره ؟

RESMAILY
جمعه 16 فروردین 1392, 10:27 صبح
به نام خدا
با سلام از اين روال استفاده بفرماييد. درضمن راه حل اقاي اميري موثر تر است.
Dim obj As AccessObject, dbs As Object
Set dbs = Application.CurrentData
For Each obj In dbs.AllTables
....
next

Abbas Amiri
جمعه 16 فروردین 1392, 12:07 عصر
سلام
درتابع خودتون برای لینک کردن چند جدول تغییرات ایجاد شد




Public Function MDMM_BuHstEvLogLinkCtl(sOp As String, ParamArray TableNames()) As Boolean
Dim tblCount As Integer
Dim sFx As String: sFx = "MDMM_BuHstEvLogLinkCtl"
If IsMissing(TableNames) Then Exit Function
tblCount = UBound(TableNames) + 1
On Error Resume Next
For i = 0 To tblCount - 1
DoCmd.DeleteObject acTable, TableNames(i)
If Err.Number = 0 Or Err.Number = 7874 Then
'ignore; Err 0 means no error occurred, Err 7874 means object not found (nothing to delete)
Else
GoTo MDMM_BuHstEvLogLinkCtl_Error
End If
Next

If sOp = "Link" Then
'be sure link does not already exist ... call this same function with the UnLink op
Call MDMM_BuHstEvLogLinkCtl("UnLink")

'Now create the link ...
Dim sPath As String
On Error GoTo MDMM_BuHstEvLogLinkCtl_Error
sPath = "F:\Archive\3920105_be.accdb"
For i = 0 To tblCount - 1
SendKeys "123": SendKeys "{ENTER}" ' ee is the password
DoCmd.TransferDatabase acLink, "Microsoft Access", sPath, acTable, TableNames(i), TableNames(i)
Next
End If

MDMM_BuHstEvLogLinkCtl_Exit:
Err.Clear
Exit Function

MDMM_BuHstEvLogLinkCtl_Error:
MsgBox "An unexpected error has occured!" & vbCrLf & vbCrLf & _
"Error Information --------------------" & vbCrLf & _
"Number: " & Err.Number & vbCrLf & _
"Description: " & Err.Description & vbCrLf & _
"Procedure: " & sFx & vbCrLf & _
"Operation: " & sOp & vbCrLf & vbCrLf & _
"PLEASE ... take a screen shot of this error message showing as much of the screen as possible and email it to the Database Administrator.", 48, "MASS Database Maintenance"
GoTo MDMM_BuHstEvLogLinkCtl_Exit

End Function



برای لینک کردن جداول Table1 و Table2 به روش زیر عمل کنید . تعداد جداول از یک به بالا باید باشد.


MDMM_BuHstEvLogLinkCtl "Link", "Table1", "Table2"