Kolom memo terpotong ketika Anda menampilkan laporan untuk unggul dalam akses 2002

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 294286 - Melihat produk di mana artikel ini berlaku.
Lanjutan: Memerlukan ahli coding, interoperabilitas, dan keterampilan multiuser.

Untuk versi Microsoft Access 97 artikel ini, lihat 182302.
Untuk versi Microsoft Access 2000 artikel ini, lihat 208801.
Perbesar semua | Perkecil semua

Pada Halaman ini

GEJALA

Ketika Anda menampilkan laporan ke Microsoft Excel, bidang Memo terpotong untuk 255 karakter. Anda juga dapat melihat perilaku ini ketika Anda klikMenganalisis dengan Microsoft Excel perintah sementara Anda sedang melakukan preview untuk laporan.

PENYEBAB

Di Excel, panjang maksimum isi teks-sel adalah 32.000 karakter. Namun, akses output laporan format Excel 5.0/95, di mana panjang maksimum isi teks-sel adalah 255.

PEMECAHAN MASALAH

Microsoft menyediakan contoh pemrograman hanya sebagai ilustrasi, tanpa jaminan apa pun baik tersurat maupun tersirat. Termasuk, namun tidak terbatas pada, jaminan tersirat mengenai kelayakan untuk diperdagangkan atau kesesuaian untuk keperluan tertentu. Artikel ini mengasumsikan bahwa Anda telah terbiasa dengan bahasa pemrograman yang ditunjukkan dan dengan alat yang digunakan untuk membuat dan mendebug prosedur. Teknisi dukungan Microsoft dapat membantu menjelaskan fungsionalitas prosedur tertentu, namun mereka tidak akan memodifikasi contoh untuk memberikan fungsionalitas tambahan atau menyusun prosedur untuk memenuhi persyaratan khusus Anda.

Metode 1

Mengekspor meja yang mendasari atau permintaan ke format file Excel 2000. Untuk melakukannya, ikuti langkah-langkah berikut:
  1. Di jendela Database, memilih meja atau permintaan yang laporan ini didasarkan.
  2. Pada Berkas menu, klik Ekspor.
  3. Dalam Mengekspor meja '<table name="">'</table> kotak dialog, pilih Microsoft Excel 97-2002 (*.xls) dari Simpan sebagai jenis kotak.
  4. Klik Ekspor semua untuk mengekspor meja.

Metode 2

Membuat kotak teks pada laporan untuk membagi kolom Memo menjadi 250 karakter string. Setelah Anda memiliki output laporan, berkumpul kembali string tersebut.

Misalnya, andaikan Anda memiliki bidang Memo yang bernama catatan, dan dalam beberapa catatan, isi bidang itu adalah 700 karakter lama. Anda dapat membuat tiga kotak teks dalam laporan dengan masing-masing dari tiga kalimat berikut sebagai kontrol sumber untuk salah satu kotak teks:
=Mid([Notes],1,250)

=Mid([Notes],251,250)

=Mid([Notes],501,250)
Setelah Anda memiliki output laporan ke sebuah spreadsheet, Anda dapat berkumpul kembali segmen dari kolom Memo. Sebagai contoh, segmen bidang Memo Catatan pertama yang muncul dalam sel B2, C2 dan D2 masing-masing. Kamu bisa berkumpul kembali kolom Memo dengan mengetikkan rumus berikut sel lain, E2:
=CONCATENATE(B2,C2,D2)
Anda kemudian dapat menyalin rumus ini ke seluruh sel dalam kolom e untuk berkumpul kembali Catatan lapangan untuk semua catatan.

Perhatikan bahwa MENGGABUNGKAN fungsi mengembalikan galat #VALUE saat Anda mencoba untuk menggunakan rumus
=CONCATENATE(B2:D2)
Alamat sel setiap isi yang ingin Anda sertakan dalam dipenggal hasil harus tercantum secara terpisah.

Jika panjang data dalam bidang Memo membuatnya diperlukan bagi Anda untuk membuat lebih dari beberapa kotak teks, Anda dapat menggunakan Visual Basic untuk Prosedur aplikasi untuk mengotomatisasi penciptaan kotak teks tersebut. The contoh berikut menunjukkan cara menggunakan prosedur untuk membuat teks kotak, untuk menampilkan laporan, dan kemudian berkumpul kembali isi dari kotak teks.
  1. Ikuti langkah-langkah 1 sampai 7 dalam "Langkah-langkah untuk mereproduksi perilaku" bagian nanti dalam artikel ini.
  2. Buat laporan baru dalam Design view yang didasarkan pada tabel tblMemoOutput.
  3. Menyeret field atau kolom ID ke bagian rinci laporan.
  4. Menyimpan laporan sebagai rptMemoOutput. Menjaga laporan terbuka dalam Design view.
  5. Buka modul baru, dan kemudian ketik prosedur berikut:
    Function MemoSplitter(strReportName As String, _
       strFieldName As String, lngMemoLength As Long)
    
       Dim NewControl As Control
       Dim intLoopCount As Integer
       For intLoopCount = 0 To lngMemoLength / 250
    
          Set NewControl = CreateReportControl(strReportName, _
             acTextBox, acDetail)
          NewControl.Name = intLoopCount & "MemoText"
          NewControl.ControlSource = "=Mid([" & _
             strFieldName & "]," & 250 * intLoopCount + 1 _
             & ",250)"
       Next intLoopCount
    
    End Function
    					
  6. Mengkompilasi dan kemudian simpan modul sebagai mdlSplitFunction.
  7. Ketik baris berikut di jendela segera, dan kemudian tekan ENTER:
    ?MemoSplitter("rptMemoOutput","Notes",5200)
    					
  8. Melihat laporan di preview cetak, dan catatan ID tiga: a, b, dan c. pada Alat menu, titik Kantor link, lalu klik Menganalisis dengan Microsoft Excel.
  9. Ketika data muncul dalam file spreadsheet di Microsoft Excel, klik sel A1, kemudian tekan CTRL + SHIFT + END untuk memilih semua data.
  10. Pada Format menu, titik Baris, lalu klik AutoFit.
  11. Pilih sel A2. Pada Masukkan menu, klik Baris.
  12. Ketik rumus berikut dalam cell A2:
    =VALUE(LEFT(A1,FIND("M",A1,1)-1))
  13. Menyalin rumus sel B2 melalui U2.
  14. Pilih sel A2 melalui U2.
  15. Pada Mengedit menu, klik Salin.
  16. Pada Mengedit menu, klik Paste khusus.
  17. Di bawah Pasta dalam Paste khusus kotak dialog, klik Nilai-nilai, lalu klik Oke. Ini mengkonversi rumus di baris kedua untuk nilai-nilai, yang dapat Anda gunakan untuk menyortir segmen catatan lapangan.
  18. Klik sel A2, kemudian tekan CTRL + SHIFT + END untuk memilih semua kecuali baris pertama data.
  19. Pada Data menu, klik Urut.
  20. Dalam Urut kotak dialog, klik Opsi.
  21. Di bawah Orientasi dalam Jenis pilihan kotak dialog, klik Menyortir kiri ke kanan, lalu klik Oke.
  22. Dalam Urut kotak dialog, klik Row2 dalam Urut berdasarkan Daftar, dan kemudian klik Oke untuk menyortir segmen Catatan lapangan.
  23. Dalam sel W3, ketik rumus berikut:
    =CONCATENATE(A3,B3,C3,D3,E3,F3,G3,H3,I3,J3,K3,L3,M3,N3,O3,P3,Q3,R3,S3,T3,U3)
  24. Menyalin rumus sel W4 dan W5 untuk berkumpul kembali Catatan lapangan untuk setiap record.

STATUS

Microsoft telah mengkonfirmasi bahwa ini adalah masalah di dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".

INFORMASI LEBIH LANJUT

Langkah-langkah mereproduksi perilaku

  1. Mulai Microsoft Access, dan kemudian Buka database.
  2. Membuat tabel berikut:
    
       Table: tblMemoOutput
       --------------------
       Field Name: ID
       Data Type: Text
       Field Name: Notes
       Data Type: Memo
    					
  3. Simpan tabel sebagai tblMemoOutput. Saat Anda diminta untuk membuat primary key, klik Tidak.
  4. Buka tabel dalam Datasheet pandangan, dan kemudian masukkan catatan berikut:
       ID   Notes
       --   -----
       a    a
       b    b
       c    c
    					
  5. Buka modul baru, dan kemudian ketik prosedur berikut:
    Function FillMemo(strTableName As String, _
       strFieldName As String)
    
       Dim db As Database
       Dim rs As Recordset
       Dim intLoopCount As Integer
    
       Set db = CurrentDb
       Set rs = db.OpenRecordset(strTableName)
    
       Do Until rs.EOF
          rs.Edit
    
          For intLoopCount = 1 To 26
             rs(strFieldName) = rs(strFieldName) _
                & String(200, Chr(intLoopCount + 64))
          Next intLoopCount
    
          rs.Update
          rs.MoveNext
       Loop
    
       db.Close
    
    End Function
    
    
    					
  6. Mengkompilasi dan kemudian simpan modul sebagai mdlDataFunction.
  7. Masukkan baris berikut di jendela segera, dan kemudian tekan ENTER:
    ?FillMemo("tblMemoOutput","Notes")
    					
  8. Menggunakan AutoReport: kolumnar Wizard untuk membuat laporan yang didasarkan pada tblMemoOutput. Melihat laporan di Print Preview.
  9. Pada Alat menu, titik Kantor link, lalu klik Menganalisis dengan Microsoft Excel.
  10. Ketika data muncul dalam file spreadsheet di Microsoft Excel, ketik rumus berikut ke dalam sel C2:
    =LEN(B2)
    Perhatikan bahwa data akan dimasukkan ke bidang catatan telah dipotong hingga 255 karakter.

REFERENSI

Untuk informasi lebih lanjut tentang loading output dari laporan ke Microsoft Excel, klik Microsoft akses bantuan pada Bantuan menu, jenis Keluaran data di kantor asisten atau jawaban Wizard, dan kemudian klik Mencari untuk melihat topik kembali.
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.

Properti

ID Artikel: 294286 - Kajian Terakhir: 23 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Access 2002 Standard Edition
Kata kunci: 
kbreport kbbug kbpending kbmt KB294286 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:294286

Berikan Masukan

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com