복붙노트

[SQL] 어떻게 VBA를 사용하여 서식있는 텍스트 메모에 액세스 테이블에 텍스트 필드를 변환하는

SQL

어떻게 VBA를 사용하여 서식있는 텍스트 메모에 액세스 테이블에 텍스트 필드를 변환하는

내 사용자는 (내가 직접 액세스 할 수 없습니다) 백엔드 .accdb 데이터베이스의 번호를 가지고있다. 나는 서식있는 텍스트 메모로 변환 텍스트 필드에이 데이터베이스에서 일부 테이블의 구조를 수정하는 코드에 약간의 VBA가 필요합니다. (필드는 이미 즉 코딩 관련 HTML 액세스 "서식있는 텍스트"를 포함한 텍스트를 포함).

나는 필요 :

나는 메모에 TEXT (255)에서 필드를 수정하는 SQL 문을 작성할 수 있습니다 :

ALTER TABLE tblSource ALTER COLUMN Detail1 MEMO

그러나, 이것은 일반 텍스트 메모로 결과 메모 필드를 떠난다.

내가 필드를 새로운 서식있는 텍스트를 생성 한 다음 SQL은 CREATE TABLE 문을 사용하여 (예전의 내용을 복사 고려한 새로운으로 그 이전 필드의 내용을 복사하여 그 결과를 일반 텍스트 기능을 적용 UPDATE 문 다음에 필드, 그리고 더 SQL은 기본값) 일반 텍스트 것 같다 (기존 필드를 삭제하고 새 이름을 변경)하지만, 리치 텍스트 메모를 작성하는 방법을 찾을 수 있습니다.

광범위한 웹 검색은 내가 배포 할 수 있습니다 추가 기술을 표시하지 않았습니다. 이 우아한 또는 빠른해야하지만이 폭탄을 방지 할 필요가 작업을 수행하지 않도록 이것은 각 파일에 대해 한 번 실행하는 과정입니다!

해결법

  1. ==============================

    1.리치 텍스트 데이터 형식 아니고 정의 또는 SQL 문을 수정할 수있는 필드 속성이 아니므로, 당신은 필드의의 TextFormat 속성을 설정 VBA가 필요합니다.

    리치 텍스트 데이터 형식 아니고 정의 또는 SQL 문을 수정할 수있는 필드 속성이 아니므로, 당신은 필드의의 TextFormat 속성을 설정 VBA가 필요합니다.

    이 코드 샘플에서 기술을 적용 할 수 있습니다.

    Dim db As DAO.Database
    Dim tdf As DAO.TableDef
    Dim fld As DAO.Field
    Set db = CurrentDb
    Set tdf = db.TableDefs("Table1")
    Set fld = tdf.Fields("memo_fld")
    Debug.Print "acTextFormatPlain: " & acTextFormatPlain & _
        "; acTextFormatHTMLRichText: " & acTextFormatHTMLRichText
    With fld.Properties("TextFormat")
        Debug.Print "TextFormat: " & .Value
        If .Value = acTextFormatPlain Then
            .Value = acTextFormatHTMLRichText
            Debug.Print "TextFormat changed to: " & .Value
        End If
    End With
    

    코드는 대상 테이블이 포함 된 데이터베이스에서 실행합니다. 표 1은 실제로 다른 액세스 DB 파일의 테이블에 대한 링크 인 경우, 코드는 실패합니다.

    단지는 메모 필드에 적용된다는 것을 유의하십시오. 이 오류 # 3270가 발생합니다 있도록 된 TextFormat 속성은 일반 텍스트 데이터 형식 필드에 만들어지지 않습니다 "속성을 찾을 수 없습니다."

    Debug.Print tdf.Fields("some_text").Properties("TextFormat").Value
    

    당신이 메모 필드에 일반 텍스트 필드로 변환되기 때문에, 그 시점은 아마도 문제가되지 않습니다. 나는 단지 경우에 당신이 그것으로 우연히 언급했다.

    ColeValleyGirl이 된 TextFormat 속성은 항상 새로운 메모 필드에 만들어지지 않습니다 발견했다.

  2. from https://stackoverflow.com/questions/20828561/how-to-convert-a-text-field-in-an-access-table-to-a-rich-text-memo-using-vba by cc-by-sa and MIT license