Ce trebuie să faceți dacă obțineți o eroare „Memorie insuficientă” când adăugați un câmp prin Access Design View

De câte ori ați încercat să adăugați un câmp nou la un tabel existent și ați avut temutul mesaj de eroare „memorie insuficientă pentru a finaliza această operațiune”? Dacă răspunsul este niciunul, atunci ați avut noroc – până acum, dar sunt șanse să îl aveți la un moment dat, așa că acest articol vă va explica cum puteți adăuga un câmp nou – chiar și atunci când Access crede că nu poate …

Schimbări de masă – fără dureri de cap

Mesaj de eroare memorie insuficientăam lost număr de câte ori am încercat să fac o modificare la un tabel, fie că este vorba de adăugarea unui câmp nou, schimbarea tipului unui câmp existent sau ștergerea unui câmp dintr-un tabel în vizualizarea de proiectare a tabelului, doar pentru a fi salutat printr-un mesaj de eroare care îmi spune că nu există suficientă memorie pentru a finaliza sarcina.

Pe lângă faptul că este un semn că baza de date (sau tabelul) s-ar putea să devină puțin mai mare, ceea ce ar trebui să fie tratat înainte de a fi lăsat să încerc repara fisiere mdb, poate fi, de asemenea, un semn că Access pur și simplu nu o poate face în timp ce Design View este activ. În acest caz, există o singură alternativă – fă-o din cod!

Codul

Codul pe care îl vom folosi în acest articol va fi destul de simplu și vă veți ajutaost cu siguranță doriți să îl adăugați pentru a deveni un fragment de cod mai puternic, dar următorul exemplu vă va oferi codul schelet necesar pentru a adăuga un câmp nou la un tabel existent - va urma o explicație a codului:

Sub AddFieldToTable(ByVal tableName As String, fieldName As String, fieldType As Integer) Dim objDB As Database Dim objTableDef As TableDef Dim objField As Field Set objDB = CurrentDb Set objTableDef = objDB.TableDefs(tableName Set cu objTableDef) = .CreateField(fieldName, fieldType) .Fields.Append objField „Puteți seta și alte proprietăți pentru câmp (cum ar fi valorile nule permise etc) aici If fieldType = dbText Then .Fields(fieldName).AllowZeroLength = False End If End With Set objField = Nimic Set objTableDef = Nimic Set objDB = Nimic End Sub

Explicarea codului

Deci, primul lucru de reținut este că cantitatea minimă de informații necesare pentru a adăuga un câmp nou la un tabel existent este: numele tabelului, numele câmpului și tipul câmpului. Toate acestea le cerem ca parametru al subrutinei. Există, desigur, multe alte setări pe care ar putea fi necesar să le adăugați (cum ar fi dimensiunea câmpului etc.), dar deocamdată, codul de mai sus va funcționa „ca atare” în baza de date, așa că haideți să explicăm elementele de bază despre cum face asta.

În primul rând, codul primește o referință la baza de date curentă (objDB) și definiția tabelului pentru tabelul existent pe care vrem să îl schimbăm (objTableDef).

CreateField TypeOdată ce avem definiția tabelului, este pur și simplu o chestiune de a apela metoda „CreateField” cu numele și tipul furnizate pentru câmp. Puteți găsi o listă cu tipurile de câmpuri în fișierul de ajutor Access sub subiectul „Field.Type” sau prin ecranul de ajutor pentru metoda „CreateField”, dar pentru ușurința dvs. de referință, le-am enumerat și mai jos:

dbBigInt, dbBinary, dbBoolean, dbByte, dbChar, dbCurrency, dbDate, dbDecimal, dbDouble, dbFloat, dbGUID, dbInteger, dbLong, dbLongBinary, dbMemo, dbNumeric, dbSingle, dbText, dbTime, dbTimeStamp, dbVarBinary

Puteți seta proprietăți suplimentare (cu o singură excepție) după apelul „CreateField” – am setat câmpul să permită intrări de lungime zero în codul de mai sus.

Excepția de la aceasta este dacă doriți să setați dimensiunea câmpului - aceasta trebuie făcută atunci când creați inițial câmpul, așa că dacă doriți să modificați codul astfel încât să puteți seta și dimensiunea câmpului, ar trebui să modificați apelul CreateField la următorul „.CreateField(fieldName, fieldType, fieldSize)”.

Introducerea autorului:

Mitchell Pond este un expert în recuperarea datelor DataNumen, Inc., care este lider mondial în tehnologiile de recuperare a datelor, inclusiv reparați eroarea SQL și produse software de recuperare Excel. Pentru mai multe informații vizitați www.datanumen.com

Lasă un comentariu

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate *