Senin, 27 Februari 2012

VB6 / Crystal Report 8,5 kesalahan: Sebuah string diperlukan di sini


Saya baru-baru tua Warisan visual basic 6 / kristal laporan proyek yang menghubungkan ke server sql database. Pesan kesalahan saya mendapat (Kesalahan # -2147191803 A String diperlukan di sini) saat mencoba menjalankan proyek tampaknya dipersempit ke. Printout perintah di kode berikut:
'Login ke database 
  Set Tabel = Report.Database.Tables 
  Set Tabel = Tables.Item (1) 
  Table.SetLogOnInfo ConnName, dbname, user, pass 
  Domainname = CStr (dipilih) 
  'Set parameter Fields 
  'Deklarasi parameter pemegang 
  Set ParamDefs = Report.ParameterFields 
  'Store parameter objek 
  Untuk Setiap ParamDef Dalam ParamDefs 
  Dengan ParamDef 
  MsgBox ( "domainname:" + domainname) 
  Select Case. ParameterFieldName 
  Case "Nama Perusahaan" 
  . SetCurrentValue Domainname 
  Akhir Pilih 
  Select Case. Nama 
  Kasus "(? Company Name)" 
  . SetCurrentValue Domainname 
  Akhir Pilih 
  'Bendera untuk melihat apa yang ditetapkan ke nilai sekarang 
  MsgBox ( "paramdef:" + ParamDef.Value) 
  Akhir Dengan 
  Berikutnya 
  Report.EnableParameterPrompting = False 
  Screen.MousePointer = vbHourglass 
  'CRViewer1.ReportSource = Laporan 
  'CRViewer1.ViewReport 

  test = 1 
  Report.PrintOut ** ** 
  test = test + 3 
  currenttime = Str (Now) 
  currenttime = Ganti (currenttime, "/", "-") 
  currenttime = Ganti (currenttime, ":", "-") 
  Domainname = Ganti (domainname, ".", "") 
  startName = mPath + "\ crysta ~ 1.pdf" 
  endName = mPath + "\" + domain + "\" + domain + "" + currenttime + ". pdf" 
  rc = MsgBox ( "Tunggu pekerjaan PDF selesai", vbInformation, "H / W Report") 
  Nama startName Sebagai endName 
  Screen.MousePointer = vbDefault 
  End If 
Selama lari, bentuk muncul, yang ParamDef menetapkan variabel "nama perusahaan" dan ketika sampai di garis yang Report.PrintOut petunjuknya untuk mencetak, itu melempar kesalahan. I'm guessing laporan kristal tidak menerima "Company Name" untuk benar menjalankan laporan kristal. Apakah ada orang yang tahu cara untuk mendiagnosis ini ... baik di VB6 atau laporan kristal sisi untuk menentukan apa yang saya hilang di sini?
thanks in advance!
UPDATE:
  • dimasukkan CStr (dipilih) untuk memaksa domainname untuk menjadi string
  • msgboxes dimasukkan ke dalam untuk loop di atas dan di bawah. setcurrentvalue baris
  • dimasukkan Kasus "(? Perusahaan Nama)" pernyataan untuk melihat apakah yang membantu pengaturan nilai
  • mencoba. AddCurrentValue dan. SetCurrentValue fungsi seperti yang disarankan oleh situs-situs forum lain
  • memutuskan bahwa itu .. environement perkembangan saya dimuat di komputer lain dengan VB6 yang sama persis laporan kristal 8,5 berjalan di WinXP sp2 prof dan kesalahan yang sama muncul.
dan ketika saya menjalankan MsgBox (ParamDef.Value) dan juga muncul kosong hilang dengan string yang sama kesalahan. Saya juga tidak bisa menemukan dokumentasi pada kelas craxdrt.ParameterFieldDefinition untuk melihat apa yang tersembunyi fungsi lain yang tersedia. Ketika saya melihat daftar metode dan properti variabel, tidak daftar SetCurrentValue sebagai salah satu fungsi.
Any ideas on this?
thanks lagi di muka
#: 103261     visual-studio    vb6    vb    crystal-reports     User: phill
Berikut adalah cara saya menetapkan parameter pada Crystal (yang datang bersama. NET - tidak tahu apakah itu membantu Anda).
Dim dv As New ParameterDiscreteValue 
dv.Value = showphone 
rpt.ParameterFields("showphone").CurrentValues.Add(dv) 

#: 104259     visual-studio    vb6    vb    crystal-reports     User: nathaniel
terima kasih tapi itu tidak benar-benar membantu. cara set paramters tampaknya benar-benar berbeda. NET   #:27406  phill
dipilih adalah string input variabel yang diambil dari formulir dengan drop-down pilih kotak. Aku sebelumnya menempatkan kotak pesan di sana untuk memastikan adanya variabel melewati tepat sebelum Report.Printout dan itu tidak muncul. Domainname variabel ini juga dinyatakan sebagai tipe string.
#: 103451     visual-studio    vb6    vb    crystal-reports     User: phill
Berapakah nilai dari variabel yang dipilih?
Table.SetLogOnInfo ConnName, dbname, user, pass

Domainname = dipilih

'Set parameter Fields 
Jika tidak sebuah string, maka yang mungkin menjadi masalah. Kristal mengharapkan sebuah string variabel dan ketika ia tidak menerima apa yang diharapkan, ia melempar kesalahan.
#: 103346     visual-studio    vb6    vb    crystal-reports     User: Arthur Miller
Berikut ini adalah contoh hidup menetapkan parameter yang kita gunakan:
For Each CRXParamDef In CrystalReport.ParameterFields 
  Select Case CRXParamDef.ParameterFieldName 
    Case "@start" 
      CRXParamDef.AddCurrentValue CDate("1/18/2002 12:00:00AM") 
    Case "@end" 
      CRXParamDef.AddCurrentValue Now 
  End Select 
Next 
Ini sebenarnya adalah contoh yang ditulis dalam VBScript untuk Crystal 8,5 pencetakan laporan, tetapi sintaks adalah sama untuk VB6
#: 223789     visual-studio    vb6    vb    crystal-reports     User: smbarbour
Dari sudut pandang Anda harus mendapatkan pesan kesalahan yang sama jika Anda membuka laporan dalam Laporan Crystal Perancang dan beralih ke modus pratinjau. The Designer harus juga menunjukkan Anda pesan dengan lokasi yang tepat dari masalah, misalnya bidang yang tidak dapat diperlakukan sebagai string.
Masalahnya bukanlah bahwa lapangan lebih dari 255 byte tidak dapat dicetak. Masalahnya adalah bahwa suatu bidang lebih dari 255 byte tidak dapat digunakan dalam formula, sebagai semacam kriteria ...
#: 131863     visual-studio    vb6    vb    crystal-reports     User: n/a
Aku menambahkan sebuah field untuk tampilan di sql server 2005 database dan memverifikasi laporan menentangnya yang melakukannya dengan tidak ada kesalahan. Apakah itu ada hubungannya dengan masalah saya?
#: 115538     visual-studio    vb6    vb    crystal-reports     User: phill
Hal ini dapat terjadi dalam laporan kristal 8,5 jika Anda mengubah panjang kolom string yang Anda gunakan dalam laporan Anda sehingga melebihi 255 byte. Ini dapat juga terjadi jika Anda mengubah tipe kolom dari varchar ke nvarchar (double byte string!)
Alasan untuk ini adalah bahwa laporan kristal 8,5 memperlakukan semua senar lebih dari 255 bytes sebagai memo field.
Saya menyarankan youe upgrade ke laporan kristal XI - API tidak berubah banyak.
#: 114059     visual-studio    vb6    vb    crystal-reports     User: n/a
Aku akan memeriksa ke dalam kolom tipe variabel.
Sedangkan untuk upgrade, saya sudah mencoba menjalankannya dalam laporan kristal xi dan itu menghasilkan runtime error. Hal ini ada hubungannya dengan Crystal Report Engine Perpustakaan dll yang dirubah somwhere antara dua versi
thanks for the suggestion!   #:27216  phill
Aku ingin tahu apakah saya akan lebih mudah mengubah kode ini untuk vb.NET?
#: 108929     visual-studio    vb6    vb    crystal-reports     User: phill

VB6 / Crystal Report 8.5 error: A string is required here









Tidak ada komentar:

Posting Komentar