PDA

View Full Version : مشکل EDIT در VSFLEXGRID



davood59
یک شنبه 22 دی 1387, 13:36 عصر
سلام دوستان؛
وقتی که روی یک سطر از VSFLEX دابل کلیک می کنم تا بره روی ویرایش و فرم مربوطه رو باز کنه نمیره و ERROR میده. یه کم فوری و البته حیاتیه. ممنون میشم اگه کمکم کنید. خطای runtime error 13 _ type mismatch
با تشکر.
اینهم کد:



Private Sub VS_DblClick()

Editpersonnel Me.VS.TextMatrix(VS.Row, 1) ' this is line that VB get error


End Sub

Private Sub Editpersonnel(ID As Long)

End Sub
If VS.Rows = 1 Then MsgBox "ãæÑÏí ÌåÊ æíÑÇíÔ íÇÝÊ äÔÏ", vbExclamation + vbMsgBoxRtlReading, "ÎØÇ": Exit Sub
'
' Dim Frm As New Frm_Acc_New
' Frm.ShowItem ID
' Frm.Show vbModeless, MainForm
'End Sub

davood59
دوشنبه 23 دی 1387, 12:24 عصر
پس چی شد؟:گریه:

hamed aj
دوشنبه 23 دی 1387, 18:10 عصر
با سلام





Editpersonnel clng(Me.VS.TextMatrix(VS.Row, 1))

davood59
چهارشنبه 25 دی 1387, 17:12 عصر
آقا حامد با تشکر از شما ولی مشکل همچنان لاینحل باقی مونده و ایراد می گیره! راهه دیگه ای نیست؟

vbhamed
چهارشنبه 25 دی 1387, 23:12 عصر
سلام

اينو به شكل زير اصلاح كنيد ببينيد درست ميشه ؟



Private Sub Editpersonnel(ID As string)اگر نياز بود براي فراخواني تابع بعدي از دستور زير استفاده كنيد



Frm.ShowItem CLng(ID)

davood59
دوشنبه 30 دی 1387, 07:38 صبح
سلام دوستان، ضمن تشکر از پاسخگویی شما ولی مشکل من همچنان با این دو کد باقیست. لطفا کمکم کنید. دیگه خیلی داره اذیت می کنه.

مرسی
اینهم تصاویر خطاها



http://i43.tinypic.com/2hnrwna.jpg

و اینهم تصویر بعدی پس از راهنمایی شما:


http://i43.tinypic.com/2wefae8.jpg


با تشکر

vbhamed
دوشنبه 30 دی 1387, 08:39 صبح
سلام
نمونه برنامه رو بزاريد

f.nabavi
دوشنبه 30 دی 1387, 08:47 صبح
سلام. خوب نوع string که همین طوری به long تبدیل نمیشه. من یه سوال دارم. آقا داود شما میخواهید روی ID سرچ کنید یا روی اسامی مثل "رحمانی"؟ اگر روی ID ها چرا اون فیلدی که اسامی درش هست رو دارید انتخاب میکنید؟ اگر روی اسم ها، چرا اسمش ID هست و نوعش به صورت long و از clng استفاده میکنید؟

davood59
دوشنبه 30 دی 1387, 18:57 عصر
سلام به آقا حامد و آقای نبوی عزیز،
1- آقای نبوی شاید من بعلت یادگیری VB از طریق همین سایت و برداشتن الگوهای متفاوت دارم این اشتباه رو می کنم. ولی ببینید در VS شما روی سطر کلیک می کنید نه روی فیلد خاصی! درسته؟
2- آقا حامد گل، ضمن پوزش از اینکه وقت گرانبهاتون رو می گیرم برنامه رو براتون ضمیمه می کنم. این لطفتون رو فراموش نمی کنم.
الف) آقا حامد این برنامه هنوز کامل نیست و بعضی از فیلدهاش هنوز به بانک متصل نیست ولی من جهت اینکه اول میخوام از EDIT مطمئن شم اونها رو بعدا کامل می کنم.
ب) پر کردن فیلدهای نام و نام خانوادگی الزامی و جهت ثبت در بانک کافیست.
ج) لطفا اگر می شود در خصوص REFRESH شدن هم کمکم کنید. یعنی اینکه پس از اینکه نام را در قسمت ثبت پرسنل جدید وارد نمودید برنامه فوراً نام را به انتهای جدول بیاورد. مثل برنامه دفترچه تلفن دوست خوبمون آقا مهرداد.
د) هر چندکه شما خودتون مسلط هستید و نیاز به توضیح بند ب نبود ولی فقط جهت اطلاع بود.
با تشکر از شما عزیزان ـ خیلی خیلی ممنون

f.nabavi
سه شنبه 01 بهمن 1387, 13:50 عصر
سلام. من پروژه شما رو دیدم ولی چون تعدادی از ocx ها رو نداشتم نتونستم درست اجرا کنم. یه سئوال دارم: وقتی نوشتی
Private Sub Editpersonnel(ID As Long) منظورت از ID، فیلد empid هست یا id ؟
درضمن وقتی مینویسی
textmatrix(row, 1) داری به ستون 1 از ردیفی که روش کلیک کردی اشاره میکنی که نام خانوادگی هست و نه Id. اول باید فیلد empid یا id رو مثل بقیه فیلدها داخل جدول نشون بدی، بعد شماره ستونش رو به
vs.textmatrix(row, ...) بدی.

فاطمه وطن دوست
سه شنبه 01 بهمن 1387, 20:37 عصر
سلام

من پروژه شما رو ندیدم __ این نمونه رو ببینید .

vbhamed
چهارشنبه 02 بهمن 1387, 09:13 صبح
سلام

دوست عزيز
شما اصلا ستون Id رو به گرايد اضافه نكردين كه بتونيد ازش بخونيد
دستور sql رو به صورت زير اصلاح كنيد


Rs.Open "SELECT lname,fName,fathername,nshen,birthdate,econtract,e arfml,earhouse,earfood,earebl,earhrd,eartcl,id FROM personnel ORDER BY ID ASC", Conn, adOpenStatic, adLockOptimistic

بعد ستون Id رو آدرس بدين كه طبق دستور بالا ستون 13 ميشه (عنوان حق فني رو هم به Id تغيير بدين)


Editpersonnel Me.VS.TextMatrix(VS.Row, 13)

davood59
چهارشنبه 09 بهمن 1387, 19:13 عصر
سلام به آقا حامد ، سرکار خانم وطن دوست و همچنین آقای نبوی
از کمکتون بینهایت ممنونم.
همچنین آقا حامد از شما که مشکل منو حل کردید واقعا سپاسگزارم.
واقعا کارم راه افتاد.
باز هم ممنون.