PDA

View Full Version : ورودی بوسیله اکسل



Fazaeli
یک شنبه 12 شهریور 1385, 11:18 صبح
چگونه از فایل اکسلEXCELمیتوان در ورود اطلاعات تاکید میکنم فقط در ورود اطلاعات در یک تیبل استفاده نمود.

moustafa
یک شنبه 12 شهریور 1385, 11:48 صبح
tablelink
import
یا منظورتون چیزه دیگست

samaneh_h
یک شنبه 12 شهریور 1385, 15:32 عصر
اگه می‌خوای توی فایل xls ورود اطلاعات داشته باشی و تو اکسس فرمهات باشه باید از link استفاده کنی روی قسمت تیبلها توی اکسس کلیک راست کن و link table رو انتخاب کن و files if type رو بذار XLS و فایلتو پیداکنو OK

Fazaeli
یک شنبه 12 شهریور 1385, 19:03 عصر
یک برنامه دیدم که با اکسس نوشته شده بود و یک قسمت ورودی داشت ک بوسیله یک برزر (browser) فایل مورد نظر راکه اکسل بود، باز می کردند و اطلاعات را که بصورت (کراس تب) اکسس بود وارد تیبل ها می کردند. مثلاَ ستون جدول، نام های دانش آموزان بود و ردیف جدول، نام درس ها بود. نمره دانش آموزان در تقاطع نام و نام درس در اکسل وارد شده بود. شخص در فرم اکسس بوسیله برزر فایل اکسل را باز می کرد و فیلد اول و آخری را که می خواست نمراتش انتخاب شود را تعیین می کرد، بعد با زدن یک دکمه، اطلاعات وارد فیلد های تیبلی در اکسس می شد. تیبل بوسیله اتونامبر که پرایمری کی مشخص شده بود، یک کد صادر می کرد. در فیلد نام، ستون های اکسل وارد می شد و در فیلد درس، ردیف های اکسل وارد می شد و در فیلد نمره، نمره های اکسل وارد می شد.
می خواستم بدانم که چگونه چنین حرکتی در اکسس امکان پذیر است؟

Fazaeli
دوشنبه 13 شهریور 1385, 00:01 صبح
کسی جواب سئوال منو نمیدونه؟میدونم عجیب غریبه اما هست

Fazaeli
دوشنبه 13 شهریور 1385, 07:45 صبح
بابا یکی ما رو تحویل بگیره

sarami
دوشنبه 13 شهریور 1385, 08:58 صبح
دوست عزیز با وارد کردن پست جدید سعی در با آوردن تاپیک خود نکنید مطمئن باشین درصورت دونستن جواب شما دوستان شمارو راهنمائی خواهند کرد.
برا این منظور function فوق رو تو یه ماژول کپی کنین و یک رکورد ست تعریف کرده و موقع ست کردن رکوردست Read_Excel رو برا رکوردستتون ست کنین.

Option Compare Database
Private Declare Function ts_apiGetOpenFileName Lib "comdlg32.dll" _
Alias "GetOpenFileNameA" (tsFN As tsFileName) As Boolean
Private Declare Function ts_apiGetSaveFileName Lib "comdlg32.dll" _
Alias "GetSaveFileNameA" (tsFN As tsFileName) As Boolean
Private Declare Function CommDlgExtendedError Lib "comdlg32.dll" () As Long

Private Type tsFileName
lStructSize As Long
hwndOwner As Long
hInstance As Long
strFilter As String
strCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
strFile As String
nMaxFile As Long
strFileTitle As String
nMaxFileTitle As Long
strInitialDir As String
strTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
strDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type

Public Function Read_Excel() As ADODB.Recordset
Dim sFile As String
Dim strFilter As String
Dim lngflags As Long
Dim varFileName As Variant

strFilter = "Microsofr Office Excel (*.xls)" & vbNullChar & "*.xls"

lngflags = FNPathMustExist Or FNFileMustExist _
Or FNHideReadOnly
sFile = GetFileFromUser( _
fOpenFile:=True, _
strFilter:=strFilter, _
rlngflags:=lngflags, _
strDialogTitle:="ãÓíÑ ãæÑÏ äÙÑ ÑÇ ÇäÊÎÇÈ äãÇííÏ")

If Nz(sFile) = vbNullString Then Exit Function
On Error GoTo fix_err
Dim RS As ADODB.Recordset
Set RS = New ADODB.Recordset
Dim sconn As String

RS.CursorLocation = adUseClient
RS.CursorType = adOpenKeyset
RS.LockType = adLockBatchOptimistic

sconn = "DRIVER=Microsoft Excel Driver (*.xls);" & "DBQ=" & sFile
RS.Open "SELECT * FROM [sheet1$]", sconn
Set Read_Excel = RS
Set RS = Nothing
Exit Function
fix_err:
Debug.Print Err.Description + " " + _
Err.Source, vbCritical, "Import"
Err.Clear
End Function
Public Function GetFileFromUser( _
Optional ByRef rlngflags As Long = 0&, _
Optional ByVal strInitialDir As String = "", _
Optional ByVal strFilter As String = "All Files (*.*)" & vbNullChar & "*.*", _
Optional ByVal lngFilterIndex As Long = 1, _
Optional ByVal strDefaultExt As String = "", _
Optional ByVal strFileName As String = "", _
Optional ByVal strDialogTitle As String = "", _
Optional ByVal fOpenFile As Boolean = True) As Variant

On Error GoTo GetFileFromUser_Err
Dim tsFN As tsFileName
Dim strFileTitle As String
Dim fResult As Boolean

' Allocate string space for the returned strings.
strFileName = Left(strFileName & String(256, 0), 256)
strFileTitle = String(256, 0)

' Set up the data structure before you call the function
With tsFN
.lStructSize = Len(tsFN)
.hwndOwner = Application.hWndAccessApp
.strFilter = strFilter
.nFilterIndex = lngFilterIndex
.strFile = strFileName
.nMaxFile = Len(strFileName)
.strFileTitle = strFileTitle
.nMaxFileTitle = Len(strFileTitle)
.strTitle = strDialogTitle
.flags = rlngflags
.strDefExt = strDefaultExt
.strInitialDir = strInitialDir
.hInstance = 0
.strCustomFilter = String(255, 0)
.nMaxCustFilter = 255
.lpfnHook = 0
End With

' Call the function in the windows API
If fOpenFile Then
fResult = ts_apiGetOpenFileName(tsFN)
Else
fResult = ts_apiGetSaveFileName(tsFN)
End If

' If the function call was successful, return the FileName chosen
' by the user. Otherwise return null. Note, the CancelError property
' used by the ActiveX Common Dialog control is not needed. If the
' user presses Cancel, this function will return Null.
If fResult Then
rlngflags = tsFN.flags
GetFileFromUser = tsTrimNull(tsFN.strFile)
Else
GetFileFromUser = ""
End If

GetFileFromUser_End:
On Error GoTo 0
Exit Function

GetFileFromUser_Err:
Beep
MsgBox Err.Description, , "Error: " & Err.Number _
& " in function basBrowseFiles.GetFileFromUser"
Resume GetFileFromUser_End

End Function
Private Function tsTrimNull(ByVal strItem As String) As String

On Error GoTo tsTrimNull_Err
Dim i As Integer

i = InStr(strItem, vbNullChar)
If i > 0 Then
tsTrimNull = Left(strItem, i - 1)
Else
tsTrimNull = strItem
End If

tsTrimNull_End:
On Error GoTo 0
Exit Function

tsTrimNull_Err:
Beep
MsgBox Err.Description, , "Error: " & Err.Number _
& " in function basBrowseFiles.tsTrimNull"
Resume tsTrimNull_End

End Function

دانلود نمونه برنامه (http://www.box.net/public/f2848gcdhx)

Fazaeli
دوشنبه 13 شهریور 1385, 09:43 صبح
برنامه نمونه رو دیدم . اما نمیدونم انگار منظورم خوب نرسوندم میشه پست منو یک بار دیگه بخونید؟ از درست کردن پست اضافه هم معذرت!!

sarami
دوشنبه 13 شهریور 1385, 09:54 صبح
دوست عزیز با این Button شما یک رکوردست دارید که به فایل اکسل متصل است و تمامی اعمال از قبلی اضافه کردن رکورد ها به تیبل رو دارین فقط کافیه نتایج استخراج شده رو به تیبل مورد نظر add کنین اونوقت لیستی از رکوردهارو خواهید داشت با msgbox من فقط تعداد رکوردهارو برا تون استخراج کردم

Fazaeli
شنبه 18 شهریور 1385, 00:50 صبح
توسط رکر د ستی که در پست برام فرستادید میخواهم فایل اکسل را در یک Data gridsیا مثل اون در فرم ویو کنم هرچه تلاش کردم نتونستم ؟

sarami
یک شنبه 19 شهریور 1385, 07:54 صبح
یه جستجوی کوچیک برای کار با رکوردست بکنین نتایج راهنمائی خوبی برای شما خواهد بود

Fazaeli
دوشنبه 20 شهریور 1385, 17:47 عصر
درباره رکردست وADOدر قسمت مقالات مقاله خوبی گرفتم و مطالعه کردم ولی باز در اکسس نمیتوانم یک فایل اکسل را در فرم ویو وسلکت کنم:گریه:

sarami
دوشنبه 20 شهریور 1385, 20:52 عصر
شما اول باید نتایج رکوردست رو در یک Table وارد نموده و سپس در یک فرم و یا سابفرم نمایش دهید.دلیل اینکه بنده نمونه رو اصلاح نمی کنم هم این موضوع هستش که به مرور زمان تاپیک به صفحه های قبل انتقال پیدا میکنه و در صورت حذف فایل پیوست کل این تاپیک بی محتوا میشه.

sarami
پنج شنبه 13 مهر 1385, 08:59 صبح
بخاطر درخواست دوستان این نمونه برنامه رو برای دانلود قرار میدم امیدوارم که مورد استفاده قرار بگیره لازم بذکره میشه خیلی حرفه ای تر ازاین نمونه هم کار کرد ....
دانلود (http://www.box.net/public/ob0vlspxdh)

syfpsyfp
پنج شنبه 12 آبان 1390, 08:01 صبح
من نمونه یک و دو رو دانلود کردم اما تو در هر دوتا وقتی دکمه ورود از فایل رو می زنم هیچ اتفاقی نمی افتده !! لطفا راهنماییم کنید . باتشکر

syfpsyfp
چهارشنبه 18 آبان 1390, 09:02 صبح
:متفکر:من نمونه یک و دو رو دانلود کردم اما تو در هر دوتا وقتی دکمه ورود از فایل رو می زنم هیچ اتفاقی نمی افتده !! لطفا راهنماییم کنید . باتشکر