مشكل در ويژوال بيسيك

وضعیت
موضوع بسته شده است.

shakiba

Member
من يه فرم با وي بي نوشتم ولي حالا ميخوام اونو به اكسس كانكت كنم

ولي نميتونم

يه فرم براي مطب يك دكتره كه ميخوام وقتي اطلاعات بيمار وارد ميشه ذخيره بشن

و وقتي شماره پرنده را زده شد وارد مشخصات همون بيمار بره

ولي نميدونم چجوري از وي بي به اكسس بايد كانكت بشم

اگه ميشه راهنماييم كنيد :cry:
 

omidak

Active Member
سلام:
از ToolsBox 1 Object Data بزار تویه Form ات
بعد 1 تویه Properties اش اول Connect ات رو انتخاب کن بعد DataBaseName و بعد تویه RecordSource اون Table مورد نظر رو بده... بعد خیلی راحت هر Object ای رو که خواستی میتونی از طریق DataSource و DataField بهش وصل کنی... :wink:
موفق باشی :wink:
 

shakiba

Member
بي نهايت ممنونم

ولي يه مشكلي دارم در record sourse تا ميام تام جول را بدم (تا رويي كليك ميكنم
آدرس اكسسم رو ميده بعد ميگه فرمتشو نميشناسم) نميدونم مشكل از وي بي خودمه
يا جايي را اشتباه ميكنم چون وي بي خودم يه كم مشكل داره
اگه در اين مورد هم توضيح بديد ديگه واقعا ازتون ممنون ميشم :wink: :oops:

بازم ممنون
 

saman_sweden

Active Member
در حالت كلي بگم شما بايد ديتا بيستان را تو اكسس بسازيد و در واقع تمام كارها با اكسس شروع ميشه وتمام ميشه اون برنامه ويژوال بيسيك كه ساخته ايد و يا ميسازيد در واقع بعنوان پوسته برنامه ميشود و كار خاصي انجام نخواهد داد
 

shakiba

Member
درسته
اكسس تمام اطلاعاتي كه از فرم وارد ميشه را ذخيره ميكنه
منم در اكسس يه جدول ساختم و اون فيلهايي كه ميخواستم را قرار دادم كه بعد از وي بي اون باكس ها را به فبلدهاي جدول اكسس كانكت كنم.
ولي نميدونم چرا تا ميام نام جدول را بزنم ارور ميده
 

saman_sweden

Active Member
shakiba گفت:
درسته
اكسس تمام اطلاعاتي كه از فرم وارد ميشه را ذخيره ميكنه
منم در اكسس يه جدول ساختم و اون فيلهايي كه ميخواستم را قرار دادم كه بعد از وي بي اون باكس ها را به فبلدهاي جدول اكسس كانكت كنم.
ولي نميدونم چرا تا ميام نام جدول را بزنم ارور ميده

من عادت ندارم به سوالات وب پاسخ دهم براي اينكه وقت گير است در هر حال اين كد هاي زير كارتون را راه مي اندازه

براي ذخيره يه فايل و يا كانت به فايل از كد زير بهره بگيريد

کد:
Private Sub cmdBrowse_Click()
' Set CancelError is True
  CommonDialog2.CancelError = True
  On Error GoTo ErrHandler
  ' Set flags
  CommonDialog2.Flags = cdlOFNHideReadOnly
  ' Set filters
  CommonDialog2.Filter = "Microsoft Access Database (*.mdb)|*.mdb|All Files (*.*)|*.*"
  ' Specify default filter
  CommonDialog2.FilterIndex = 1
  ' Display the Open dialog box
  CommonDialog2.ShowOpen
  ' Display name of selected file
  dbFileName = CommonDialog2.FileName
  
  display
  cmdTable.Enabled = True
  cmdField.Enabled = True
  cmdAutoId.Enabled = True
  List1.Selected(0) = True
  List1.ListIndex = 0
  Exit Sub
  
ErrHandler:
  'User pressed the Cancel button
  Exit Sub

End Sub

Public Sub display()

Set db = OpenDatabase(dbFileName)

    ' Display the attributes of the Northwind database's
    ' tables.
    List1.Clear
    'MsgBox "Attributes of tables in " & .Name & ":"
    For Each tdf In db.TableDefs
    If Not tdf.Name Like "MSys*" Then
    List1.AddItem (tdf.Name)
    Else
    'MsgBox tdf.Name & "is System Table"
    End If
    
    Next tdf

End Sub

Private Sub cmdField_Click()

Dim tIndex As Integer
' Display the attributes of a TableDef object's
' fields.
List2.Clear
For Each tdf In db.TableDefs
If tdf.Name Like List1.Text Then
    For Each fld In db.TableDefs(tIndex).Fields
    List2.AddItem fld.Name
    Next fld
End If
tIndex = tIndex + 1
Next tdf
'List2.Selected = 0
List2.ListIndex = 0
End Sub

Private Sub cmdTable_Click()
Dim tIndex1 As Integer
' Count the attributes of a TableDef object's
' fields.
iFieldCount = 0
For Each tdf In db.TableDefs
If tdf.Name Like List1.Text Then
    For Each fld In db.TableDefs(tIndex1).Fields
    iFieldCount = iFieldCount + 1
    Next fld
End If
tIndex1 = tIndex1 + 1
Next tdf

rsFileName = List1.Text
frmTable.Show
End Sub

اينم فراخواني ديتابيس از داخل load بصورت اتومات

کد:
Public Sub Form_Load()
' By making it public makes it easier to refresh
Set dbConn = New Connection ' Prepares the
' Connection
dbConn.CursorLocation = adUseClient
dbConn.Open "PROVIDER=Microsoft.Jet.OLEDB.3.51;Data Source =  Database.mdb;"
' Enter the database name. This sets the db and
' uses the jet database engine to connect to the
'db
Set recSet = New Recordset 'sets the recordset
recSet.Open "Select * from Tables Order by Field ", dbConn, adOpenStatic, adLockOptimistic
'sql connecting recordset, and sets the sort by
'the field name you enter.
'Also NOTE: for more control replace the wildcard
' (*) with fieldName1, fieldName2, fieldName3.......
' For the other options you replace order bf field
' with where field = "string", where field in "string",
' or group by "string"    * Where string = the requirement you want to use
' Such as "group by Subject"
If recSet.BOF = False And recSet.EOF = False Then
    'if there is an entry
    recSet.MoveFirst ' moves to first entry
End If
recMove = True
recAdd = True
Call Display_fields
End Sub
 

omidak

Active Member
سلام:
قاعد اتن شما مشكل در Version اون Databaseو نوع Database که انتخاب کردید رو دارید...
همچنین اگر در لیست اون Database مورد نظر وجود نداشت... شما میتونید اون رو با خود برنامه به Version قدیمی تبدیل کنید... و در ضمن کن دوست امون هم عالیه :wink:
 

shakiba

Member
ممنون از هر دوي شما عزيزان
من ميتونم پرژه وي بي را همينجوري منتقل به وي بي .نت كنم كه مشكل عدم هماهنگي ورژنش با
اكسس حل بشه
 

omidak

Active Member
سلام...
ببينيد ADO.Net خیلی با سیستم هایه VB6 متفاوت هستش... شما برایه تبدیل اون باید بخش DataBase و Connect اش رو بار دیگر بنویسید :wink: و همچنین شما در .Net هیچ مشکلی نخواهید داشت :wink:
 

shakiba

Member
آقا اميد ببخشيد كه اينقده مي پرسم ها

يعني فقط بايد كانكشنش را دوباره بنويسم»ديگه تو موارد ديگه مشكل پيدا نميكنم؟تو فرمها »لود شدنها و..

نوع كانكت شدن در وي بي.نت هم به همون صورته؟
يعني از Data و تمام مواردي كه قبل گفتيد؟

يعني به نظرتون ارزششو داره با وي بي .نت فرممو طراحي كنم يا بهتره برم ويژوال استديو با ورژن بالاتر تهيه كنم؟

شاگردي كه خيلي مي پرسه :oops:
 

omidak

Active Member
سلام:
اختيار داري آقا اين چه حرفيه:)
من بهت توصیه میکنم این پرژه رو با 6 انجام بده... چون حقیقت اش اینه که .Net خیلی سنگینه...;) و میدونم به مشکلات زیادی بر میخوری...;)
نمیشه گفت که تغییرات زیاده یا کم... در بعضی جاها تغییرات زیادی دیده میشه بعضی جاها نه...;) اما اگر برنامت کامل شده دیگه نمیخواد ببریش تو .Net چون خیلی گیج ات میکنه;) :roll:
 

shakiba

Member
ممنون دوست عزيز از پاسختون
دوباره مزاحمتون ميشم
در ضمن آقا نيستم :roll:
 

shakiba

Member
خواهش ميكنم :oops:

يه سوال ديگه
ما تكست باكس داريم و خب ميدونم اگه بخوايم وقت حرف قبول كنه و عدد قوبل نكنه چيكار بايد كرد
ولي اگه مثلا فيلد تلفن باشه و بخوايم فقط عدد را قبول كنه چيكار بايد بكنيم؟

يه مورد ديگه
در مورد گرافيك در وي بي
اگه بخوايم فرمهامون اينترفيس قشنگ داشته باشن چيكار بايد بكنيم؟
كتابي درهمين زمينه ميتونيد معرفي كنيد
چقدر وي بي امكان گرافيكي داره

يه كم در اين مورد هم توضيح بديد خيلي خيلي ممنون ميشم :oops:

شاگرد كنه
 

omidak

Active Member
سلام: :wink:
خوب برايه Filter کردن باید از Event هایه TextBox استفاده کنی... :wink: onPressKey
که نمونه رو الانه براتون میفرستم :wink:
همچنین VB قدرت خیلی خیلی خیلی زیادی برایه Graphic داره... چون بر رویه سیستم هایه GUI کار میکنه... :wink: بستگی به کاری که میخوایید بکنید داره :wink:
کد:
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim str As String
Dim str1 As String
 str = "qwertyuiop[]';lkjhgfdsazxcvbnm,./\|QWERTYUIOP{}ASDFGHJKL:?><MNBVCXZ~!@#$%^&*()_+=-" & Chr(34)
If KeyAscii > 26 Then
 If InStr(str, Chr(KeyAscii)) <> 0 Then
  KeyAscii = 0
 End If
End If
End Sub
در آخر هم میشه اینو ته مقاله اتون ننویسین... :oops: :D
 

shakiba

Member
سلام

خيلي خيلي ممنون»كد را نوشتم و اجرا شد

به خدا خيلي هم خنگ نيستما ولي يه كم از كدتون رو متوجه نشدم اگه يه كم توضيح بديد خيلي ممنون ميشم

در مورد گرافيك كتابي را سراغ نداريد كه بتونه در اين زمان كوتاهي كه دارم كمكم كنه؟ :roll:

تو اين پروژم خيلي كمكم كرديد
:oops:
هنوز كه ورژن جديد وي بي را پيدا نكردم كه ببينم آيا اون ارور مال ناهمسان بودن فرمتهاست يا نه

بازم ممنون استاد
 

omidak

Active Member
سلام:
حقيقت اينه كه تويه اون كد بالا نوشته و علامات رو Filter کردم :wink: یعنی اگر شما از حروف استفاده کردید اونها تبدیل به "" مشن :wink:
در مورد کتاب هم آشنایی ندارم . مخصوصاً اینکه ایران زندگی نمیکنم :wink:

ما هم که هرچی میگیم شما اونو ننویس ته مقالات اتون... مسکه نخیر... بابا آدم خجالت میکشه :oops:
 

shakiba

Member
ببخشيد
شما ميتونيد در حد كم
گرافيك در وي بي را آموزش بدين

در مورد توضيحتون ممنون :oops:
 

omidak

Active Member
سلام:
با كمال ميل :wink:
شما اول بگيد چه چيزهايي ميخواييد به صورت گرافیکی داشته باشید... من براتون توضیح میدم که چیکار کنید :wink:
خیلی ساده اس... :wink:
 

shakiba

Member
:oops:
ميخوام فرمم شكل ظاهريه قشنگي داشته باشه كه زود نظر طرف رو جلب كنه

چه خود فرم »چه دكمه ها و...

البته من دو تاپروژه دارم »اين مورد گرافيك قوي براي دوميست

اگه ميشه اول يه كم در مورد ترفندهايي كه در عين سادگي باعث ميشه كه

يوزر از فرم و كار كردن باهاش لذت ببره را بگيد

بعد زحمتش به دوش شما كه يه كم از گرافيك و ترفندها بگيد منم قول ميدم كه شاگرد خوبي باشم و زود ياد بگيرم و زياد اذيتتون نكنم :wink:
 
وضعیت
موضوع بسته شده است.

جدیدترین ارسال ها

بالا