نمایش نتایج 1 تا 6 از 6

نام تاپیک: استخراج Caption فرم ها با استفاده از نام موجود

  1. #1
    کاربر دائمی آواتار ARData
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    Karaj
    سن
    40
    پست
    431

    استخراج Caption فرم ها با استفاده از نام موجود

    در یک جدول نام فرم ها در یک فیلد ذخیره می باشد و چون برای استخراج اطلاعات Caption هر فرمی از فرمول Form_Frmx.Caption استفاده می شود ... بنابر این اگه اطلاعات فیلد من frmx باشد چطوری می تونم این کد رو اجرا کنم :
    مثلا : متغیر FrmName رو برابر همون مقدار فیلد می کنیم :
    dim frmname as string
    frmname="form_" & dlookup("[fldfrmname]","tblforms")
    msgbox frmname.caption

    هر کاری می کنم جواب نمیگیرم !!!

  2. #2
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,075

    نقل قول: استخراج Caption فرم ها با استفاده از نام موجود

    اینجا دو مشکل هست؛
    اول اینکه کدتون از پایه نادرست هست چون string یک data type هست و نه object بنابراین فاقد property هست و بهمین دلیل frmname.caption معنی نداره.
    شما باید یک آبجکت از نوع form تعریف کنین و بعد میتونین caption اون فرم رو بدست بیارین ولی مشکل بعدی اینجا بروز میکنه که وقتی اینکار میسر هست که فرم باز بشه (چه در حالت عادی چه در حالت طراحی).

    اگر فرم مورد نظرتون باز هست که خب مشکلی نیست و میتونین از کد زیر استفاده کنین:

    FORMS(frmname).CAPTION


    اما اگر باز نیست مجبورین بازش کنین و بعد از خوندن CAPTION دوباره ببندینش که چندان کار جالبی بنظر نمیاد! مگر اینکه در حالت HIDDEN باشه :

    DIM frmname, frmcap AS STRING
    frmname="...."
    DOCMD.OPENFORM frmname,,,,ACHIDDEN
    frmcap=FORMS(frmname).CAPTION
    DOCMD.CLOSE ACFORM,frmname,ACSAVENO

  3. #3
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: استخراج Caption فرم ها با استفاده از نام موجود

    نام اشیای ایجاد شده و سیستمی اکسس در جدول MSysObjects نگهداری می شود
    Dim fld As Field, rs As Recordset
    Set rs = CurrentDb.OpenRecordset("MSysObjects")
    Do While Not rs.EOF
    If rs.Fields("Type") = -32768 Then
    Debug.Print rs.Fields("Name")
    End If
    rs.MoveNext
    Loop
    Set rs = Nothing
    End Sub

  4. #4
    کاربر دائمی آواتار ARData
    تاریخ عضویت
    بهمن 1388
    محل زندگی
    Karaj
    سن
    40
    پست
    431

    نقل قول: استخراج Caption فرم ها با استفاده از نام موجود

    من نام فرم ها رو با کد زیر استخراج می کنم و در جدول مربوطه ذخیره می کنم و نمی خوام هیچ فرمی هم باز بشه تا کپشن اونو بردارم : کپشن فرم در حالت unload فرم مد نظر منه :
    Private Sub Command16_Click()
    On Error Resume Next
    Dim DB As Database
    Dim rst As Recordset
    Dim obj1 As AccessObject
    Set DB = CurrentDb
    Set rst = DB.OpenRecordset(" select * from TblSysForms ")
    rst.MoveFirst
    For Each obj1 In CurrentProject.AllForms
    rst.Edit
    rst.Fields(1) = obj1.name
    rst.Update
    rst.MoveNext
    Next obj1
    End Sub

  5. #5
    مدیر بخش آواتار Abbas Amiri
    تاریخ عضویت
    فروردین 1390
    محل زندگی
    اصفهان
    پست
    2,327

    نقل قول: استخراج Caption فرم ها با استفاده از نام موجود

    کدی که نوشته اید تست کردم ، Error داشت . اولا باید جدول TblSysForms ایجاد کنیم بعد برای آپدیت کردن آن باید قبلا تعداد رکورد برابر تعداد فرمها داشته باشیم ویا اگر جدول خالی است AddNew. کنیم ،و درخط پنجم بجای AccessObject باید Object قراردهیم

  6. #6
    کاربر دائمی آواتار mazoolagh
    تاریخ عضویت
    اردیبهشت 1384
    سن
    71
    پست
    3,075

    نقل قول: استخراج Caption فرم ها با استفاده از نام موجود

    اول از همه اینکه برای پیدا کردن اسامی تمام فرمها راه بهتر از خواندن جداول سیستمی هم هست.

    دوم:
    نمی خوام هیچ فرمی هم باز بشه تا کپشن اونو بردارم : کپشن فرم در حالت unload فرم مد نظر منه
    همونطور که گفتم پاسخ بطور مطلق منفی هست.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •