Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/10/2011, 13h52   #1
Invité régulier
 
Homme Fred NoNoNo
Inscription : décembre 2009
Messages : 33
Détails du profil
Informations personnelles :
Nom : Homme Fred NoNoNo
Localisation : France

Informations forums :
Inscription : décembre 2009
Messages : 33
Points : 5
Points : 5
Par défaut Problème de mémoire avec Access ?

Bonjour,

J'essaie simplement de changer la taille d'un champ texte de 255 à 25 caractères.
(Avec Access 2010 sur Windows 7)

Voici le message obtenu :
Microsoft Access ne peut pas changer le type de données.
Il n'y a pas assez de mémoire ou d'espace disque disponible.

Or, Je n'utilise à ce moment là que 49% des 4 Go installés.
Sur C, il reste 2,8 Go de libre
Sur D il reste 8,18 Go de libre
Le fichier Access .accdb sur lequel je travaille fait 67 340 Ko

Hum, en réalité je dirais que c'est probablement un problème de configuration plutôt que de mémoire. Quelqu'un aurait-il une piste? une direction où chercher? qui sait, peut-être même une solution?

Merci à tous
FredOoo123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 14h29   #2
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 620
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 620
Points : 30 945
Points : 30 945
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Cela n'a rien à voir avec ton espace disque.

Une astuce

Copier/coller de ta table (structure uniquement)
Modification du type
Copier/coller dans la nouvelle table (ajour de données)

Tout avec le clique droit de la souris.

Il existe aussi une manière par le code, mais je ne la retrouve plus.

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 14h50   #3
Invité régulier
 
Homme Fred NoNoNo
Inscription : décembre 2009
Messages : 33
Détails du profil
Informations personnelles :
Nom : Homme Fred NoNoNo
Localisation : France

Informations forums :
Inscription : décembre 2009
Messages : 33
Points : 5
Points : 5
Merci Philippe, mais...

Effectivement, l'astuce fonctionne. Elle me permet d'avancer, ce qui est déjà appréciable. J'ai donc créé une nouvelle table (copie de la structure de la première) avec les propriétés de champ voulues et j'ai ensuite déversé mes données de l'une à l'autre.

La solution programmée, je vais la retrouver dans la matinée et vous dire si elle fonctionne aussi.

Mais, ceci ne m'explique pas pourquoi avec un bon ordinateur et une version récente d'Office, je ne parviens plus a faire les petites opérations de base dans Access. Et surtout, cela ne corrige pas le problème.

Si Access dit que j'ai un problème de mémoire, que je pense que ce n'est pas vrai, et que vous me confirmez que ça n'a rien à voir avec mon espace disque, j'aimerais quand-même corriger le problème.
Ne serait-ce que parce qu'hier, j'ai fermé toutes mes application, redémarré la machine, rouvert seulement Access pour faire la manipe avec toute la mémoire dispo. Puis, Microsoft ne précisant pas si c'est un problème de mémoire ou de disque (et lequel), j'ai passé une bonne heure à faire de la place sur C qui contient le système, et D qui contient le fichier sur lequel je travail.

Avez-vous une idée quant à la cause du problème ?
FredOoo123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2011, 15h42   #4
Invité régulier
 
Homme Fred NoNoNo
Inscription : décembre 2009
Messages : 33
Détails du profil
Informations personnelles :
Nom : Homme Fred NoNoNo
Localisation : France

Informations forums :
Inscription : décembre 2009
Messages : 33
Points : 5
Points : 5
Programatiquement, ça donne ceci :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 
Public Function reduireChamp(TableName, fieldName)
    ' call reduireChamp ("Lexique371b", "1_ortho")
    Dim max
    max = maxLettresField(TableName, fieldName)
    Dim cn As ADODB.Connection
    Dim SQL As String
    Set cn = CurrentProject.Connection
    SQL = "ALTER TABLE [" & TableName & "] ALTER COLUMN [" & fieldName & "] TEXT(" & max & ");"
    cn.Execute SQL
End Function
 
Public Function maxLettresField(TableName, fieldName) As Integer
    On Error GoTo ErrorHandler
    Dim Rs As New ADODB.Recordset
    Dim ortho As String
    Dim maxLettres As Integer ' le nombre max de lettres trouvées à ce moment de la boucle
    Dim orthoLettres As Integer
 
    DebugPrintLine
    Debug.Print "Calcule le nombre de lettres maximum pour le champ [" & fieldName & "]"
 
    maxLettres = 0
    Rs.Open "SELECT [" & fieldName & "] FROM [" & TableName & "]", CurrentProject.Connection
    Do Until Rs.EOF
        orthoLettres = Rs.Fields(fieldName).ActualSize / 2
        If orthoLettres > maxLettres Then maxLettres = orthoLettres
        Rs.MoveNext
    Loop
    Let maxLettresField = maxLettres
 
ErrorHandler:
    If Err Then
        DebugPrintErrorMsg
        Let maxLettresField = -1
    End If
    If (Rs.State = 1) Then Rs.Close
    Set Rs = Nothing
    'Debug.Print "maxLettres : " & maxLettres
End Function
C'est alors que l'on a un message qui parle d'une MaxLocksPerFile insuffisant.

Ici, on a une page qui parle des différents emplacement de cette variable dans le registre:
http://www.anysitesupport.com/access...ount-exceeded/

J'ai passé la valeur de 9500 à 16000.
Maintenant ça marche aussi bien programatiquement que manuellement.

L'informatique, c'est vraiment de la bidouille, de la m....

Je vous souhaite une bonne journée.
FredOoo123 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 04h42.


 
 
 
 
Partenaires

Hébergement Web